1. 파이썬의 숫자형 자료형
ㅇ 숫자형 자료형의 구분 셋 : int(정수형), float(실수형), complex(복소수형)
- 이외에도, 보다 복잡한 숫자 자료형 표현으로는,
. 고정 정밀도 소수, 분자/분모가 있는 유리수 (Fractions 모듈), 집합 등
ㅇ 한편, 파이썬은 이들 모두(숫자,변수,함수,문자열 등) 객체로 취급함
- 만일, 자료형을 보여주는 함수인 type(정수값)라고 치면, < class 'int' > 등을 리턴함
- 특히, 매 정수값 생성 마다 다른 객체 생성됨
. 例) a=257; b=257; a is b => False
- 또한, 매 정수값 생성 마다 객체 식별번호를 보여주는 id(정수값)가 달라짐
- 단, -5 ~ 256 사이 정수값은 효율성 등을 이유로 캐시해 두므로, 새로운 객체 생성되지 않음
2. 파이썬의 숫자형 자료(숫자 리터럴)의 표현 및 취급 방식
ㅇ int(정수형) 표현
- 3.x 부터는, long형이 사라지고, int형 자체가 크기 제한 없는 부호 있는 정수형이 됨
. 즉, int는 임의 정밀도 지원
.. 내부적으로, int가 충분 않으면 자동으로 long 타입 변환됨
- 사실상, 정수형의 크기는,
. 다른 언어가, 컴파일러에 의해 제한되는 것에 비해,
. 파이썬은, 순전히 컴퓨터 메모리에 의해서 만 제한됨
- 그러나, 하한은 (적어도) 4 바이트(32 비트) 이상
ㅇ 진법 표현
- (2진수) `0b`(숫자 0과 소문자 b)으로 시작
- (8진수) `0o`(숫자 0과 소문자 o)으로 시작
- (16진수) `0x`(숫자 0과 소문자 x)으로 시작
ㅇ 진법 변환
- (10진법 → 2진법 변환) bin(정수)을 사용 (문자열 반환)
- (다른 진법 → 10진법 변환) int(다른 진법의 문자열, 밑수)
. 여기서, 밑 수는, 2 ~ 36 까지 가능
. 例) int('1101',2) => 13
ㅇ 강제 형 변환
- int(표현식) : int(2.2) => 2, int(3/2) => 1, int('10') => 10
- float(표현식)
ㅇ 정수형 크기의 바이트 수의 확인
- (정수).bit_length() 메서드
ㅇ complex(복소수형) 표현
- 실수부,허수부의 합으로 표현 : 例) 3 + 4j, 3.0 + 4.0j, 3j 등
. 한편, 그냥 `j`는 문자 변수로 보고, 이는 `1j`로 표현해야 함
. 한편, `3+0j`는 허수부가 0 인 복소수로 간주됨
- 복소수의 실수부,허수부 접근 例) x = (1 + 3j)
. x.real => 1.0 , x.imag => 3.0
ㅇ 특별한 숫자 표현
- Inf : +∞
- NaN : Not a Number,부정 값