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, например:

return not myval

В питоне 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
Другие вопросы по тегам