2.2 바이너리를 포함한 숫자 변환
파이썬의 타입 이름은 타입 변환이 가능한 모든 곳에서 묵시적으로 타입 변환을 수행한다.
데이터_타입(데이터_객체)
이 코드는 다음과 같이 동작한다. 구체적인 ‘데이터_객체’를 인수로 받으면 적절한 데이터 변환이 가능한 경우, 해당 타입으로 변환한 후 결과를 반환한다. 그렇지 않으면 파이썬에서 값 에러(ValueError) 예외가 발생한다.
예제를 살펴보자.
s = '45'
n = int(s)
x = float(s)
n과 x를 출력하면 다음 결과를 확인할 수 있다.
45
45.0
int 변환은 다른 타입 변환과는 다르게 선택 사항으로 두 번째 인수를 넣을 수 있다. 이 인수는 문자열을 숫자로 변환할 때 변환 대상 문자열의 진수를 명시한다. 이진수와 같이 말이다. 다음 예제를 살펴보자.
n = int('10001', 2) # 이진수 변환
n을 출력하면 값이 17임을 알 수 있다. 이와 같이 int 변환을 사용할 때 다른 진수들을 사용할 수 있다. 다음 코드는 8진수(octal)와 16진수(hexadecimal) 문자열을 변환하는 예제다.
n1 = int('775', 8)
n2 = int('1E', 16)
print('8진수 775와 16진수 1E의 값:', n1, n2)