파이썬의 숫자 데이터를 분류하면 다음과 같다.
[표 1] 숫자형의 분류
숫자형 | 개요 |
정수(int) | 범위에 제한이 없다. 16진수, 8진수, 2진수로도 표현 가능하다. (파이썬2.x 버전에서는 큰 정수에 l/L 접미사를 붙여야 함.) |
실수(float) | 소수점 이나 e/E 가 포함된 숫자 |
복소수(complex) | 허수부(j/J) 가 포함된 숫자 |
다른 언어들과는 달리 파이썬은 정수에 대해 범위 제한이 없으며 복소수까지 기본 자료형에 포함된다. 복소수는 숫자 뒤에 j/J 를 붙이면 된다. 파이썬쉘에서 다음 예를 하나씩 실행해 보고 결과를 확인해 보자.
>>> a=123>>> b1=3.14>>> b2=1e-10>>> c=10000000000000000000000000000000000 # 정수는 범위 제한이 없다.>>> d1=1+2j>>> d2=1j #허수를 표기할 때 1j 와 같이 1을 꼭 붙여야 한다.>>> d3=-3-1j>>> e=0x12a #16진수. 0x(제로 엑스) 혹은 0X 로 시작한다.>>> f=0b1101101 #2진수. 0b(제로 비) 혹은 0B 로 시작한다.>>> g=0o1234 #8진수. 0o (제로 오) 혹은 0O로 시작한다. |
정수는 10진수/16진수/8진수/2진수로 표현할 수 있으며 실수형은 십진수 형식으로만 표현된다. 숫자에 소수점이나 지수를 표시하는 e/E가 있다면 실수이고 그렇지 않다면 정수로 분류된다. 또한 허수부가 포함되어 있다면 복소수형이다.
재미있는 것은 0j, -0j, +0.0j, -0.0j 도 내부적으로 complex 형으로 간주된다는 것이다. 숫자 상수나 변수의 형을 보려면 내장 함수인 type()을 이용한다.
>>> type(10)>>> type(-1.2)>>> a=3+4j; type(a)>>> type(2+0j) |
정수의 범위에 제한이 없다는 점도 특이한 점이다. 이러한 점에서 파이썬이 매우 큰 숫자를 다뤄야 하는 분야나(예를 들어서 천문학, 경제학) 데이터 분석에서 타언어보다 유리하다는 점을 짐작할 수 있다. (2.x버전에서는 큰 정수를 표시하기 위해서는 정수 뒤에 L/l 접미어를 붙여야 한다. 그러나 3.x버전은 그런 제약이 없다.)
복소수는 실수부, 허수부, 켤레복소수를 구할 수 있는 속성(attribute)이 있는데 각각 real, imag, conjugate() 이다. 다음을 실습해 보자.
>>> c=11+22j>>> c.real>>> c.imag>>> c.conjugate() |
또한 내장 함수인 abs()를 이용하면 복소수의 크기를 구할 수 있다.
>>> abs(c) |
십진수의 이진수 표현을 알고 싶다면 bin()이라는 내장함수를 사용하면 된다. 팔진수는 oct(), 십육진수는 hex()함수를 이용한다.
>>> a=1234>>> bin(a)'0b10011010010'>>> oct(a)'0o2322'>>> hex(a)'0x4d2' |
단, 이 함수들은 정수형에 대해서만 동작하며 반환값이 문자열이라는 것에 유의해야 한다.
만약 일반적인 변수의 값을 확인하고 싶다면 파이썬쉘에서 변수명을 입력하고 엔터를 치면 변수의 값을 보여준다.
>>> a>>> c, z # 여러 변수를 동시에 출력하고 싶다면 콤마(,)로 구분한다. |
만약 ipython쉘을 사용하고 있다면 현재 정의된 모든 변수값을 보고 싶다면 ‘who ‘ 명령어를 이용하면 된다.
'프로그래밍언어.Lib > 파이썬' 카테고리의 다른 글
파이썬의 문자열 개요 (0) | 2015.05.23 |
---|---|
파이썬의 산술 연산자 (0) | 2015.05.23 |
파이썬의 내장 자료형의 종류와 식별자 (0) | 2015.05.23 |
파이썬(python) 소개 (0) | 2015.05.23 |
파이썬의 math,cmath,numpy 모듈 (0) | 2015.04.29 |