虽然他们的关键字(在Python 3),
True并且
False仍然是对象的名称(它们分别是
bool(1)和
bool(0))。
因此,您可以在有意义的任何地方使用它们。由于它们是可哈希的,因此包括将它们用作字典键。你可以做:
d = {}d[True] = "True"d[False] = "False"您可以直接使用大括号(
d = {True: "True", False:"False"})获得相同的词典,但不能使用dict带有关键字参数的构造函数。构造函数的关键字版本仅使用带有字符串的键来构建字典,并且这些字符串必须是合法的Python标识符。
True并且
False不是字符串,也不能(因为它们是关键字)不能用作标识符。
当然,如果出于某些原因需要调用
dict而不是使用方括号,则可以使用键/值元组构造函数的序列:
d = dict([(True, "True"), (False, "False")])
我会注意到,您显示的代码片段有点愚蠢。在
boolPython中类型的子类
int,所以你可以在做数学运算
True或者
False,如果你想要的。字典索引代码等同于
1-True,这将是
0。



