【发布时间】:2020-09-02 11:00:36
【问题描述】:
我正在寻找一种类似于x *= -1 的简短语法,其中x 是一个数字,但对于布尔值,如果它甚至存在的话。它的行为应该像b = not(b)。对此感兴趣的是,当变量名很长时,能够在一行中翻转布尔值。
例如,如果你有一个可以打开|关闭房子里的灯的程序,你想避免写完整的东西:
self.lamps_dict["kitchen"][1] = not self.lamps_dict["kitchen"][1]
【问题讨论】:
-
你的意思是
True == not False? -
b = not b...? -
@norok2 长度。要么你可以把它变成一个单行并且必须写两次
b的全名,或者你可以预先保存一个临时值然后写value = b; b = not value这更糟。 -
你可以使用不同的临时变量,比如
lamp = self.lamps_dict["kitchen"]; lamp[1] = not lamp[1]。但我更喜欢 Asocia 的回答 :-)
标签: python python-3.x