파이썬 숫자(Numbers): 불변 숫자 데이터 타입 이해하기
이전 페이지 다음 페이지
숫자 데이터 타입은 숫자 값을 저장합니다. 이들은 불변(immutable) 데이터 타입으로, 숫자 데이터 타입의 값을 변경하면 새롭게 할당된 객체가 생성됩니다.
숫자 객체는 값을 할당할 때 생성됩니다. 예를 들어:
var1 = 1
var2 = 10
del 문을 사용하여 숫자 객체에 대한 참조를 삭제할 수도 있습니다. del 문의 구문은 다음과 같습니다.
del var1[,var2[,var3[....,varN]]]]
del 문을 사용하여 단일 객체나 여러 객체를 삭제할 수 있습니다. 예를 들어:
del var
del var_a, var_b
파이썬은 네 가지 다른 숫자 타입을 지원합니다.
int (부호 있는 정수) - 흔히 정수 또는 int라고 부르며, 소수점 없는 양수 또는 음수 정수입니다.
long (긴 정수) - longs라고도 하며, 크기 제한 없는 정수로, 정수처럼 쓰이고 대문자 또는 소문자 L이 뒤따릅니다.
float (부동소수점 실수) - floats라고도 하며, 실수를 나타내고 정수 부분과 소수 부분을 나누는 소수점으로 표기됩니다. 부동소수점은 과학적 표기법으로도 표현 가능하며, E나 e로 10의 거듭제곱을 나타냅니다(2.5e2 = 2.5 x 102 = 250).
complex (복소수) - a + bJ 형태이며, a와 b는 float이고 J(또는 j)는 -1의 제곱근(허수)을 나타냅니다. 숫자의 실수부는 a, 허수부는 b입니다. 복소수는 파이썬 프로그래밍에서 많이 사용되지 않습니다.
예제
다음은 숫자 예제들입니다.
| int | long | float | complex |
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEL | 32.3+e18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
파이썬은 long에 소문자 l을 허용하지만, 숫자 1과 혼동을 피하기 위해 대문자 L만 사용하는 것이 권장됩니다. 파이썬은 긴 정수를 대문자 L로 표시합니다.
복소수는 a + bj로 표시되는 실수 부동소수점 숫자의 순서쌍으로 구성되며, a는 실수부이고 b는 복소수의 허수부입니다.
숫자 타입 변환
파이썬은 혼합 타입을 포함하는 표현식에서 숫자를 내부적으로 공통 타입으로 변환하여 평가합니다. 하지만 때로는 연산자나 함수 매개 변수의 요구 사항을 만족시키기 위해 숫자를 한 타입에서 다른 타입으로 명시적으로 강제 변환해야 할 때가 있습니다.
int(x)를 입력하여 x를 일반 정수로 변환.
long(x)를 입력하여 x를 긴 정수로 변환.
float(x)를 입력하여 x를 부동소수점 숫자로 변환.
complex(x)를 입력하여 실수부 x, 허수부 0인 복소수로 변환.
complex(x, y)를 입력하여 실수부 x, 허수부 y인 복소수로 변환. x와 y는 숫자 표현식.
수학 함수
파이썬에는 수학 계산을 수행하는 다음 함수들이 포함되어 있습니다.
| 번호 | 함수 및 반환값(설명) |
| 1 | abs(x)
x의 절댓값: x와 0 사이의 (양수) 거리. |
| 2 | ceil(x)
x의 올림: x보다 작지 않은 가장 작은 정수. |
| 3 | cmp(x, y)
x < y면 -1, x == y면 0, x > y면 1. |
| 4 | exp(x)
x의 지수: ex. |
| 5 | fabs(x)
x의 절댓값. |
| 6 | floor(x)
x의 내림: x보다 크지 않은 가장 큰 정수. |
| 7 | log(x)
x>0일 때 x의 자연로그. |
| 8 | log10(x)
x>0일 때 x의 밑 10 로그. |
| 9 | max(x1, x2,...)
인수 중 가장 큰 값: 양의 무한대에 가장 가까운 값. |
| 10 | min(x1, x2,...)
인수 중 가장 작은 값: 음의 무한대에 가장 가까운 값. |
| 11 | modf(x)
x의 소수부와 정수부를 두 항목 튜플로 반환. 두 부분 모두 x와 같은 부호. 정수부는 float로 반환. |
| 12 | pow(x, y)
x**y의 값. |
| 13 | round(x [,n])
소수점부터 n자리까지 x 반올림. 파이썬은 동점 시 0에서 멀어지는 방향으로 반올림: round(0.5)는 1.0, round(-0.5)는 -1.0. |
| 14 | sqrt(x)
x>0일 때 x의 제곱근. |
난수 함수
난수는 게임, 시뮬레이션, 테스트, 보안, 프라이버시 애플리케이션에 사용됩니다. 파이썬에는 일반적으로 사용되는 다음 함수들이 포함되어 있습니다.
| 번호 | 함수 및 설명 |
| 1 | choice(seq)
리스트, 튜플, 문자열에서 무작위 항목 선택. |
| 2 | randrange([start,] stop [,step])
range(start, stop, step)에서 무작위 요소 선택. |
| 3 | random()
0 ≤ r < 1인 무작위 부동소수점 r 반환. |
| 4 | seed([x])
난수 생성에 사용되는 정수 시작값 설정. 다른 random 모듈 함수 호출 전에 이 함수를 호출하세요. None 반환. |
| 5 | shuffle(lst)
리스트 항목을 제자리에서 무작위로 섞음. None 반환. |
| 6 | uniform(x, y)
x ≤ r < y인 무작위 부동소수점 r 반환. |
삼각 함수
파이썬에는 삼각 계산을 수행하는 다음 함수들이 포함되어 있습니다.
| 번호 | 함수 및 설명 |
| 1 | acos(x)
x의 아크코사인 반환(라디안 단위). |
| 2 | asin(x)
x의 아크사인 반환(라디안 단위). |
| 3 | atan(x)
x의 아크탄젠트 반환(라디안 단위). |
| 4 | atan2(y, x)
atan(y/x) 반환(라디안 단위). |
| 5 | cos(x)
x 라디안의 코사인 반환. |
| 6 | hypot(x, y)
유클리드 노름 반환, sqrt(x*x + y*y). |
| 7 | sin(x)
x 라디안의 사인 반환. |
| 8 | tan(x)
x 라디안의 탄젠트 반환. |
| 9 | degrees(x)
라디안 x를 도(degree)로 변환. |
| 10 | radians(x)
도(degree) x를 라디안으로 변환. |
수학 상수
모듈은 다음 두 수학 상수도 정의합니다.
| 번호 | 상수 및 설명 |
| 1 | pi 수학 상수 파이(π). |
| 2 | e 수학 상수 e(자연로그 밑). |