더북(TheBook)

2.2 바이너리를 포함한 숫자 변환

파이썬의 타입 이름은 타입 변환이 가능한 모든 곳에서 묵시적으로 타입 변환을 수행한다.

데이터_타입(데이터_객체)

이 코드는 다음과 같이 동작한다. 구체적인 ‘데이터_객체’를 인수로 받으면 적절한 데이터 변환이 가능한 경우, 해당 타입으로 변환한 후 결과를 반환한다. 그렇지 않으면 파이썬에서 값 에러(ValueError) 예외가 발생한다.

예제를 살펴보자.

s = '45'
n = int(s)
x = float(s)

nx를 출력하면 다음 결과를 확인할 수 있다.

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)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.