logo

파이썬에서 'False', 'True' 등의 문자열을 bool 타입으로 변환하는 법 📂프로그래밍

파이썬에서 '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