Python chr() 함수란?
Python에서 정수를 유니코드 문자로 변환하려면 내장 함수인 chr()를 사용하면 됩니다. 이 함수는 0부터 0x10FFFF(1,114,111) 사이의 정수를 입력받아, 해당 코드 포인트에 대응하는 유니코드 문자를 반환합니다.
chr() 함수 기본 사용법
chr() 함수의 문법은 매우 간단합니다. 괄호 안에 원하는 유니코드 코드 포인트(정수)를 넣기만 하면 됩니다.
>>> chr(36) '$' >>> chr(97) 'a' >>> chr(81) 'Q'
실행 결과 해석
- chr(36) → 유니코드 코드 포인트 36에 해당하는 문자
'$'를 반환합니다. - chr(97) → 소문자
'a'의 아스키 코드가 97이므로'a'를 반환합니다. - chr(81) → 대문자
'Q'의 아스키 코드가 81이므로'Q'를 반환합니다.
chr()와 ord()의 관계
chr() 함수는 반대 방향으로 동작하는 ord() 함수와 짝을 이룹니다. ord()는 문자를 정수로, chr()은 정수를 문자로 변환하므로 두 함수는 서로 역연산 관계입니다.
>>> ord('a')
97
>>> chr(ord('a'))
'a'주의사항
chr() 함수에 유효 범위(0 ~ 0x10FFFF)를 벗어난 값을 전달하면 ValueError가 발생합니다. 또한 음수나 실수를 입력할 경우 TypeError가 발생하므로, 항상 유효한 정수를 전달해야 합니다.
>>> chr(-1) ValueError: chr() arg not in range(0x110000)
활용 예시: 한글 변환
chr() 함수는 영문뿐만 아니라 한글 등 모든 유니코드 문자에도 적용할 수 있습니다. 예를 들어 '가'의 유니코드 코드 포인트는 0xAC00(44032)입니다.
>>> chr(44032) '가'
이처럼 chr() 함수는 정수와 유니코드 문자 간의 변환을 손쉽게 처리할 수 있는 강력하고 간편한 내장 도구입니다.