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