logo

Pythonで'False'、'True'などの文字列をBool型に変換する方法 📂プログラミング

Pythonで'False'、'True'などの文字列をBool型に変換する方法

コード

Pythonで文字列"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
  • バージョン: Python v3.9.13