이 튜토리얼에서는 파이썬의 bin() 함수에 대해 자세히 알아보겠습니다.
bin() 함수란?
bin() 함수는 숫자를 이진수(binary)로 변환할 때 사용하는 파이썬 내장 함수입니다. bin() 함수에 숫자를 인자로 전달하면 해당 숫자의 이진수 표현을 문자열 형태로 반환합니다.
파이썬에서 이진수는 항상 0b 접두사로 시작합니다. 따라서 bin() 함수의 반환값 역시 0b로 시작하니 헷갈리지 않도록 주의하세요.
bin() 함수 사용 예제
예제 1: 기본적인 변환
# 숫자 초기화 n = 2 # bin(n)을 사용해 이진수로 변환 binary = bin(n) # 이진수 출력 print(binary)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
0b10
숫자 2는 이진수로 '10'이므로, 접두사 0b가 붙어 0b10이 반환된 것을 확인할 수 있습니다.
예제 2: 더 큰 숫자 변환하기
# 숫자 초기화 n = 100 # bin(n)을 사용해 이진수로 변환 binary = bin(n) # 이진수 출력 print(binary)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
0b1100100
숫자가 아닌 값을 전달하면?
bin() 함수에 숫자가 아닌 객체를 전달하면 오류(TypeError)가 발생합니다. 다음 예제를 통해 확인해 보겠습니다.
예제 3: 오류 발생 사례
# 문자열 초기화 n = 'Hafeez' # bin(n)을 사용해 이진수로 변환 시도 binary = bin(n) # 이진수 출력 print(binary)
실행 결과
위 코드를 실행하면 다음과 같은 오류 메시지가 나타납니다.
TypeError Traceback (most recent call last)
<ipython-input-4-2184ca5e2014> in <module>
3
4 # converting to binary using bin(n)
----> 5 binary = bin(n)
6
7 # displaying the binary number
TypeError: 'str' object cannot be interpreted as an integer문자열은 정수로 해석될 수 없기 때문에 TypeError가 발생합니다. 따라서 bin() 함수를 사용할 때는 반드시 정수형 데이터를 전달해야 합니다.
마무리
지금까지 파이썬의 bin() 함수를 사용해 숫자를 이진수로 변환하는 방법을 알아보았습니다. bin() 함수는 정수만 처리할 수 있으며, 반환값에는 항상 0b 접두사가 붙는다는 점을 기억해 두세요. 만약 접두사 없이 순수한 이진수 문자열이 필요하다면 슬라이싱(bin(n)[2:])이나 format() 함수를 활용하는 방법도 있습니다.
튜토리얼을 보면서 궁금한 점이 있다면 댓글로 남겨주세요.