게시:

종류

정수 자료형(int type)

파이썬은 다른 언어와 달리 정수 자료형으로 임의정밀도(Arbitary precision)를 갖는 int만 제공한다. 2.x 버전까지는 int(Fix precision)와 long(Arbitary precision)을 따로 제공했지만 3버전부터는 통합되었다.

이처럼 임의 정밀도만 지원하기 때문에 연산 속도가 느리지만 사용자 입장에서는 메모리 오버 플로(Over flow)를 신경쓰지 않아도 된다는 장점이 있다.

>>> a = 1
>>> type(a)
<class 'int'>

더 알아보기: 파이썬에서는 모든 것이 객체다. 정수 자료형(int)도 마찬가지이다. 따라서 메모리에 정확하게 필요한 크기만큼 공간을 할당하고 값을 채워넣는 원시 자료형에 비해 연산속도가 느리고 메모리 점유율이 크지만 문자변환, 16진수 변환, 비트조작 등 편리한 기능을 활용할 수 있다.

실수 자료형(float type)

수학의 실수(Real number)를 의미하며 부동 소수점(floating point) 수 타입의 객체로 십진수 소수 값을 갖는다. 정수로 나눗셈을 수행하면 결과가 소수로 나온다. 소수 형태의 수 뿐만 아니라 1e30과 같은 과학적 표현도 float 타입의 객체이다.

>>> b = 1.0
>>> type(b)
<class 'float'>

부울(Bool type), 불리언 자료형(Boolean type)

참(True), 거짓(False)을 표현하는 자료형이다. 엄밀히 말하면 논리형 자료형이지만 파이썬 내부적으로 0(False), 1(True)로 동작하므로 정수(int)의 서브 클래스이다.

>>> c = True
>>> type(c)
<class 'bool'>

>>> d = 0
>>> int(False)
0

연산

산술연산(덧셈, 뺄셈, 곱셈, 나눗셈 등)과 비교 연산이 가능하다. 산술연산은 경우에 따라 자료형에 변경(intfloat)되므로 주의가 필요하다. 사용가능한 연산자는 다음과 같다.

  • 덧셈: +
  • 뺄셈: -
  • 곱셈: *
  • 나눗셈: /
    • 몫: //
    • 나머지: %
  • 거듭제곱: **


자료형과 산술 연산에 따른 결과

type 1 type 2 + - * / ** %
int int int int int float int int
int float float float float float float float
float int float float float float float float
float float float float float float float float

더 알아보기: 파이썬 2 버전까지 “/”(나눗셈) 연산자는 정수형끼지 나누어도 정수형 타입을 유지(몫 반환)하는 특성이 있었는데 PEP 238에서 실수를 반환하도록 변경되었으며 현재는 “//”를 사용하면 몫을 반환한다.

댓글남기기