我找了很短的语法,看起来有点像x *= -1这里x是一个数字,但对于布尔值,如果存在的话。它应该表现得像b = not(b). 当变量名称很长时,感兴趣的是能够在一行中翻转布尔值。
例如,如果您有一个程序可以打开|关闭房子里的灯,您希望避免编写完整的内容:
self.lamps_dict["kitchen"][1] = not self.lamps_dict["kitchen"][1]
Run Code Online (Sandbox Code Playgroud)
Aso*_*cia 13
您可以使用异或运算符 (^):
x = True
x ^= True
print(x) # False
x ^= True
print(x) # True
Run Code Online (Sandbox Code Playgroud)
编辑:正如Guimoute在评论中所建议的那样,您甚至可以通过使用来缩短它,x ^= 1但它会将 的类型更改为x可能不是您正在寻找的整数,尽管它可以在您将其用作直接条件,if x:或while x:等。