Python как "отрицать" значение: если true, вернуть false, если false, вернуть true
if myval == 0:
nyval=1
if myval == 1:
nyval=0
Есть ли лучший способ сделать переключение в Python, например, nyvalue = не myval?
4 ответа
Решение
Использовать not
логический оператор:
nyval = not myval
not
возвращает логическое значение (True
или же False
):
>>> not 1
False
>>> not 0
True
Если у вас должно быть целое число, приведите его обратно:
nyval = int(not myval)
Тем не менее, питон bool
тип является подклассом int
, так что это может не понадобиться:
>>> int(not 0)
1
>>> int(not 1)
0
>>> not 0 == 1
True
>>> not 1 == 0
True
В питоне not
это логический оператор, который получает значение, противоположное значению:
>>> myval = 0
>>> nyvalue = not myval
>>> nyvalue
True
>>> myval = 1
>>> nyvalue = not myval
>>> nyvalue
False
А также True == 1
а также False == 0
(если вам нужно преобразовать его в целое число, вы можете использовать int()
)
variable = not (False | variable)
похоже на
if variable == True:
variable = False
elif variable == False:
variable = True