참고 자료
https://docs.python.org/3/library/functions.html
파이썬 버전 3.7 기준
자료형과 관련된 내장함수
bool(), int(), float(), complex(), list(), tuple(), range(), dict(), set(), frozenset(), str(), type() 등.
단일값을 가지는 자료형에 대한 내장함수
bool(x)
○ 논리값, True(참)나 False(거짓)중 하나를 반환한다.
○ x가 거짓이거나 생략되면 False을 반환한다.
○ x에는 대부분의 자료형(리스트,튜플,딕셔너리 포함)이 입력될 수 있다.
○ 이상한 얘기겠지만 각 값에 대해 참값과 거짓값이 존재한다.
▷ 예를들어, 정수형에서 0은 거짓(False)이고, 1은 참(True)이다. 또한, 0이 아닌 다른 값은 참 값을 가진다. 실수형에서도 마찬가지다.
▷ 빈 리스트나 튜플, 딕셔너리은 거짓값을 가지지만, 값이 하나라도 존재하면 참값을 가진다.
int(x, base=10)
○ 입력된 객체를 정수 객체로 변환하여 반환한다.
○ 숫자형 뿐만이 아니라 문자열, bytes형, bytearray형도 입력이 가능하나, 문자열이 숫자로 구성되어있으면 변환이 가능하다.
○ 실수형이 입력될 경우 소수점은 버리고, 정수 객체를 반환한다.
○ 기본적으로 문자열형이 x에 숫자로 구성된 문자열형(10진수 이하일 경우이며, 16진수는 a~f까지 입력가능하다.)이 입력될 경우 십진형태로 인식 하지만(base=10 이 기본값), base값을 변경함으로써 다른 진수로 입력을 변경할 수 있다. 하지만 출력은 10진수이다.
float(x)
○ 입력된 객체를 실수 객체로 변환하여 반환한다.
○ 입력되는 객체에 숫자형 뿐만이 아니라 입력되는 객체에 문자열형도 가능하다.
▷ 문자열형일 경우조건이 까다로워지는데, 부호입력은 가능하나, 부호 뒤쪽 숫자와의 공백이 들어갈 경우 에러가 발생한다.
▷ "Infinity" 혹은 "inf" 문자열로 무한대를 표현할 수 있다.(대소문자는 중요하지 않고, 음의 무한대일경우 -를 붙이면된다.)
▷ "nan"을 통해 nan객체를 표현할 수 있다.(대소문자는 중요하지 않다.)
▷ 과학적표기법 혹은 공학적표기법을 사용할 경우 역시 float으로 표현이 가능하다.
사용 예)
In[71]: float(1)
Out[71]: 1.0
In[72]: float('120')
Out[72]: 120.0
In[73]: float('1e6')
Out[73]: 1000000.0
In[74]: float('inf')
Out[74]: inf
In[75]: float('nan')
Out[75]: nan
complex([real[, imag]])
○ real + imag*1j 값을 가진 복소수를 반환하거나, 문자열 또는 숫자를 복소수로 변환한다.
○ 문자열을 입력할 경우 첫번째 real인자만 입력하여야 하고, 두번째 imag을 입력을 하면 안된다.
○ 숫자를 입력할 경우는 둘다 입력해도 가능하다.
▷ imag을 입력하지 않을시 기본 값은 0이다.
▷ real까지 입력하지 않은 경우 0j를 반환한다.
사용 예)
In[30]: complex()
Out[30]: 0j
In[31]: complex(1)
Out[31]: (1+0j)
In[32]: complex(1,2)
Out[32]: (1+2j)
In[33]: complex('1+1j')
Out[33]: (1+1j)
In[34]: complex('1')
Out[34]: (1+0j)
시퀀스형 및 매핑형 자료형에 대한 내장함수
○ 먼저 쉽게 설명하면 리스트와 튜플과 같은 시퀀스형 자료형 대부분은 이터레이블하다.
○ 자료형이 아니라도 이터레이블한 경우가 있지만 이터레이블에 대한 자세한 설명은 여기를 참고한다.
○ 입력 객체들을 가변형 시퀀스형인 리스트로 출력한다.
○ 리스트에 대한 자세한 내용은 여기를 참고한다.
tuple([iterable])
○ 입력 객체들을 불변형 시퀀스형인 튜플로 출력한다.
○ 튜플에 대한 자세한 내용은 여기를 참고한다.
○ 기본적으로 정수입력만 받으며, start부터 stop까지 step으로 형성된 레인지형 자료형을 출력한다.
○ stepd의 기본값은 1이며, start의 기본값은 0이다.
○ 즉, range 입력에 1개의 정수만 들어갈 경우 0부터 입력된 변수까지 1씩 증가시킨 레인지형 자료형이 생성된다.
○ 입력 객체쌍을 딕셔너리를 출력한다.
○ 딕셔너리에 대한 자세한 내용은 여기를 참고한다.
set([iterable])
○ 입력 객체를 가변형 집합 객체로 출력한다.
▷ 리스트, 튜플과 같은 iterable객체를 입력으로 받는다.
○ 이 자료형과 관련된 자세한 내용은 여기를 참고한다.
frozenset([iterable])
○ 입력 객체를 불변형 집합 객체로 출력한다.
▷ 리스트, 튜플과 같은 iterable객체를 입력으로 받는다.
○ 이 자료형과 관련된 자세한 내용은 여기를 참고한다.
str(object='' ) or str(object=b'' , encoding=''utf-8, error='strict')
○ 입력 객체를 불변형 문자열 객체로 출력한다.
▷ 숫자형이나 리스트, 튜플등 다양한 객체를 입력으로 받을 수 있으나 입력으로 받은 객체를 그대로 문자열로 출력한다.
○ 문자열과 관련된 자세한 내용은 여기를 참고한다.
기타 자료형과 관련된 내장함수
type(x) or type(name, bases,dict)
○ 입력되는 x의 자료형을 반환한다.
○ x.__class__가 반환하는 것과 같은 객체이다.
○ 실제 객체를 자료형을 알기 위해서는 isinstance() 내장 함수가 권장되는데, 이 함수는 서브클래스를 고려하기 때문이다.
○ 세 개의 인자가 입력으로 들어가면, 새로운 타입의 객체를 반환한다.
▷ 이 것은 본래 class구문의 동적인 형태라고 볼 수 있다.
▷ 다음 예제 구문에서 봤을 때 class 구문으로 작성된 X와 type 구문으로 작성된 G는 거의 동일하다고 볼 수 있다.
▷ name 값은 클래스 이름이며 __name__ 어트리뷰트에 대응되고, bases 튜플은 베이스 클래스들을 항목화하며 __bases__ 어트리뷰트가 되고, dict 딕셔너리는 클래스 바디의 정의들이 들어있는 이름 공간이며 __dict__ 어트리뷰트가 되도록 표준 딕셔너리에 복사된다.
# 객체의 자료형 확인
In[2]: type(1)
Out[2]: int
In[3]: type('1')
Out[3]: str
In[4]: type(1.0)
Out[4]: float
# type 객체를 생성하는 법
In[5]: class X:
... a = 1
...
In[6]: G = type('G', (object,), dict(a=1))
bytearray(x)
'Python > 파이썬 기초' 카테고리의 다른 글
문자열형 자료형과 관련된 내장함수와 포맷팅 - 파이썬 기초(11) (0) | 2018.12.16 |
---|---|
숫자형 자료형과 관련된 내장함수 - 파이썬 기초(10) (0) | 2018.12.04 |
이터레이터형과 제너레이터형 - 파이썬 기초(8) (0) | 2018.11.18 |
매핑형(딕셔너리)과 관련 함수/메서드 - 파이썬 기초(7) (0) | 2018.11.18 |
집합형(set, frozenset)과 관련 함수/메서드 - 파이썬 기초(6) (0) | 2018.11.18 |
댓글