Python 문자열을 부울로 변환하는 방법
개요
Python에서 문자열을 부울(boolean) 값으로 변환하는 작업은 매우 간단하지만, 이해하려면 몇 가지 주의해야 할 점들이 있습니다. 이 글에서는 다양한 방법과 그 방법의 특징에 대해 알아보겠습니다.
문자열을 부울로 바꾸는 기본 방법
Python에서 문자열을 부울로 바꾸려면 bool()
함수를 사용할 수 있습니다. bool()
함수는 빈 문자열을 제외하고 모든 문자열을 True
로 변환합니다.
1
2
3
4
# 예제
result = bool("True") # 결과는 True
result = bool("False") # 결과는 True
result = bool("") # 결과는 False
이 코드에서 주의할 점은 문자열 “False”도 True
로 변환된다는 것입니다. 그래서 문자열의 내용이 “True”인지 “False”인지에 따라 부울 값을 정하려면 추가적인 처리가 필요합니다.
‘ast.literal_eval()’ 사용하기
ast.literal_eval()
함수를 사용하면 문자열 “True”와 “False”를 각각 실제 True
와 False
값으로 바꿀 수 있습니다.
1
2
3
import ast
result = ast.literal_eval("True") # 결과는 True
result = ast.literal_eval("False") # 결과는 False
ValueError 문제 해결
문자열이 “True”나 “False” 외의 다른 값을 가지고 있을 경우, ast.literal_eval()
함수는 ValueError
를 반환합니다. 따라서 이 함수를 사용할 때는 반드시 예외 처리를 해주어야 합니다.
정리
문자열을 부울로 바꾸는 방법은 여러 가지가 있지만, 사용 상황에 따라 적절한 방법을 선택해야 합니다. bool()
함수는 간단하고 빠르지만, “True”와 “False” 문자열을 정확하게 인식하지 못합니다. 반면 ast.literal_eval()
함수는 문자열의 실제 내용을 정확하게 부울 값으로 변환해주지만, 예외 처리가 필요합니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.