파이썬에서 'False', 'True' 등의 문자열을 bool 타입으로 변환하는 법
코드
파이썬에서 문자열 "False"
를 bool 타입의 False
로 바꾸고 싶을 때 가장 먼저 시도해볼법한 코드는 아래와 같다.
>>> bool("False")
True
>>> int("False")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'False'
하지만 이 경우에 "False"
는 비어있지않은 문자열이라 bool("False")
는 True
를 반환한다. 문자열 "False"
를 False
로 반환하는 함수는 distutils.util.strtobool()
이다.
>>> from distutils.util import strtobool
>>> strtobool("False")
0
>>> strtobool("f")
0
>>> strtobool("0")
0
>>> strtobool("no")
0
>>> strtobool("off")
0
다음의 입력들은 False
를 반환한다.
- 대소문자 상관없이
"f"
와"false"
(즉,"FaLSe"
,"faLSE"
등도 전부 가능) - 대소문자 상관없이
"no"
,"n"
,"off"
,"0"
다음의 입력들은 True
를 반환한다.
- 대소문자 상관없이
"t"
와"true"
(즉,"TuRe
,"tURE"
등도 전부 가능) - 대소문자 상관없이
"yes"
,"y"
,"on"
,"1"
환경
- OS: Windows11
- Version: Python v3.9.13