숫자
파이썬에서 제공되는 숫자와 관련된 타입으로는 부울, 정수, 실수, 복소수가 있다.
- 부울은 정수의 특별한 형태(내부적으로 True는 1, False는 0)
숫자는 다음과 같은 연산이 가능하다.
연산자 | 설명 | 예 | 결과 |
+ | 더하기 | 3+9 | 12 |
- | 빼기 | 5-3 | 2 |
* | 곱하기 | 9*9 | 81 |
/ | 부동소수점 나누기 | 7/2 | 3.5 |
// | 정수나누기(*) | 7//2 | 3 |
% | 나머지(*) | 7%3 | 1 |
** | 지수 | 3**4 | 81 |
(*) : 복소수 타입은 지원 안됨
(파이썬에서는 기본적으로 나누기를 하면 비록 정수 타입으로 나누었어도 모두 실수 타입으로 값을 반환한다.)
정수
정수 리터럴(literal)의 표현
(literal: 컴퓨터과학에서 소스코드의 고정된 값을 나타내는 용어)
- 연속된 숫자의 나열로 표현
- 접두문자로 + 또는 -가 올 수 있으며 +는 생략할 수 있음
- 두자리 수 이상일 경우 0으로 시작할 수 없음
- (08은 오류)
정수 연산 시 주의사항
- 나누기(/, //)와 나머지(%)연산에서 0으로 나누거나 나머지를 구하면 오류가 발생함
- ex) 5/0, 5//0, 5%0
진수
- 정수 앞에 진수(base)를 붙이지 않으면 10진수로 간주
- 파이썬에서는 10진수 이외에 다음과 같이 정수 리터럴을 표현
- 2진수: 0b 혹은 0B로 시작, 수사용 범위는 0~1
- 8진수: 0o 혹은 0O로 시작, 수 사용 범위는 0~7
- 16진수: 0x 혹은 0X로 시작, 수 사용 범위는 0~9, A~F 또는 a~f
형변환
- 데이터 타입을 정수 형으로 변환하려면 int()함수를 사용
- 부울 --> 정수: int(True)
- 부동소수점수 --> 정수: int(3.141592)
- 문자열 --> 정수: int('99), int('-55'), int('+11')
- 정수 --> 정수: int(10)
int의 크기
- 파이썬2
- int 는 32비트로 제한(-2147483648~2147483647)
- long은 64비트로 제한(-9223372036854775808~9223372036854775808)
- 파이썬 3
- 메모리가 허용하는 한 제한 없는 정수 표현
- googol=10**100
- googol**googol
부동소수점수
부동소수점수 리터럴 표현
- 3.141592, -23.11, +99.99
- 지수표현: 1.9e8, 10.4E10, -1.4e20
부동소수점수로의 형변환
- float()함수 사용
- 예) float(True), float(98), float('99'), float('3.14'), float('1.2e10')
정수와 마찬가지로 0으로 나누거나 나머지를 구할 수 없음
- 100.0 / 0.0, 100.0 // 0.0 --> 오류
- 100/0 % 0.0 -->오류
-float의 크기: 8바이트(약 유효자리 15자리, 10^-308~10^308)
수학함수 모듈
- 파이썬은 표준 math 모듈에서 다양한 수학 함수 제공
- math 모듈을 사용하기 위해서는 import math 구문으로 math모듈을 불러와야함
- math 모듈 사용 예
>>> import math
>>> math.pi
3.141592653589793
>>> math.floor(98.6)
98
>>> math.ceil(98.6)
99
>>> math.factorial(5)
120
>>> math.comb(4,2)
6
>>> math.log(10)
2.302585092994046
Summary
- 파이썬에서 제공되는 숫자와 관련된 타입으로는 부울, 정수, 부동소수점수, 복소수가 있다
- 파이썬에서 정수는 기본 10진수의 형태로 표현되며, 2진수, 8진수, 16진수로도 표현할 수 있다
- 파이썬 3에서 정수의 표현 범위는 메모리가 허용하는 한도에서 무제한으로 표현할 수 있다.
- 파이썬에서 부동소수점수는 8바이트의 메모리 공간을 사용한다.
- 부동소수점수는 소수점으로 표현하는 방법과 지수로 표현하는 방법이 이싿
- 정수로 형변환을 하기 위해서는 int()함수를, 부동소수점수로 형변환을 하기 위해서는 float()함수를 사용한다.
- 0으로 나누거나 0으로 나누어 나머지를 구하는 것은 오류이다.
- math모듈을 사용하면 여러 수학과 관련된 상수 및 함수를 사용할 수 있다.
'Language > Python' 카테고리의 다른 글
[Python] Ch3 - part 1.리스트와 튜플 (0) | 2021.03.25 |
---|---|
[Python] Ch2 - part 4. 논리 (Boolean) (0) | 2021.03.25 |
[Python] Ch2 - part 3. 문자열 (0) | 2021.03.25 |
[Python] Ch2 - part 1. 변수, 이름, 객체 (0) | 2021.03.25 |
[Python] 유용한 사이트 모음 (0) | 2021.03.25 |