파이썬에서 int
형이 가질 수 있는 값의 범위는 제한이 없다. 오로지 컴퓨터 시스템에 있는 메모리의 크기에 의해 제한될 뿐이다. 다른 프로그래밍 언어에서는 정수의 범위를 제한한다. 예를 들어 자바 프로그래밍 언어의 경우 정수의 범위가 –231(–2147483648)에서 231 – 1(2147483647)까지다. 그러나 파이썬 프로그래머는 정수가 너무 커서 범위에 들어가지 않을지 걱정할 필요 없다. 대신 버그 있는 프로그램이 아주 큰 정수를 만들어 컴퓨터 메모리를 모두 소모해 버리지 않을지 걱정해야 한다.
▼ 표 1.2.6 int 표현식 예
표현식 |
값 |
설명 |
99 |
99 |
정수 리터럴 |
+99 |
99 |
양수 부호 |
-99 |
-99 |
음수 부호 |
5 + 3 |
8 |
덧셈 |
5 – 3 |
2 |
뺄셈 |
5 * 3 |
15 |
곱셈 |
5 // 3 |
1 |
소수점 이하 버림 |
5 % 3 |
2 |
나눈 나머지 |
5 ** 3 |
125 |
거듭제곱 |
5 // 0 |
실행 오류 |
0으로 나눔 |
3 * 5 – 2 |
13 |
*의 우선순위가 높음 |
3 + 5 // 2 |
5 |
//의 우선순위가 높음 |
3 – 5- 2 |
-4 |
좌측 결합 |
(3 – 5) – 2 |
-4 |
더 좋은 스타일 |
3 – (5 – 2) |
0 |
연산 순서가 명확함 |
2 ** 2 ** 3 |
256 |
우측 결합 |
2 ** 1000 |
107150…376 |
아주 큰 수 |
파이썬 2 주의 | 피연산자 두 개가 모두 정수일 때, 파이썬 3에서는 /
연산자가 실수 나눗셈을 수행하고, 파이썬 2에서는 /
연산자가 바닥 나눗셈을 수행한다. 예를 들어 17 / 2
는 파이썬 3에서는 8.5
, 파이썬 2에서는 8
이다. 이 책에서는 파이썬 버전 간의 호환성 문제를 피하기 위해 두 개의 int
피연산자에 /
연산자를 사용하지 않는다.