아카이브/Python

[Python 자료형] 숫자 자료형 (Number)

될성부른떡잎 2015. 7. 14. 12:02


[Python 자료형] 숫자 자료형 (Number)


파이썬은 정수, 실수, 8진수, 16진수, 복소수등 다양한 숫자를 표현하고 사용할 수 있다.


Code 예제

1
2
3
4
5
6
7
8
9
#-*- coding: utf-8 -*-
= 100        # 정수형
= 3.14       # 실수형
= 3.14E5    # 실수형(지수 표현식)
= 0o10       # 8진수
= 0x3d       # 16진수
= 1+3j       # 복소수
 
print a, b, c, d, e, f
cs

1
100 3.14 31400000000.0 8 61 (1+3j)
cs

복소수를 제외하고는 다른 언어들과 큰 차이가 없다.

실수를 지수 표현식으로 사용한 c는 $3.14*10^5$와 같은 의미이다.


숫자 자료형 연산

사칙연산(+,-,*,/)과 나눈 값의 나머지를 구하는 모듈러연산(%)은 따로 설명하지 않고, 파이썬의 특이한 연산자 $**$와 $//$에 대해서 간단히 설명하겠다.

1
2
3
4
5
>>> print 10 ** 2
100
 
>>> print 10 // 3
3
cs

위 코드의 결과 값에서 보듯이 10 ** 2는 $10^2$를, 10 // 3은 10 / 3의 몫을 나타낸다.

그리고 파이썬에서는 ++, --등의 연산자를 지원하지 않으니 참고하자.


정리

파이썬 2.X에서는 연산 결과가 원하지 않는 값이 나올 수가 있다. 예를 들어 1/2를 하게 되면 0.5가 아닌 0이 출력되게 된다. 2.X 버전에서는 정수형끼리의 연산에서는 정수형을 리턴하기 때문인데 이 경우에는 (1*1.0) / 2와 같이 강제로 형 변환을 하고 실행해야 한다. 파이썬 3.X 버전에서는 형변환을 알아서 해주므로 따로 해줄 필요가 없다.