Подтвердить что ты не робот

Python как "отрицать" значение: if true возвращает false, если false возвращает true

if myval == 0:
   nyval=1
if myval == 1:
   nyval=0

Есть ли лучший способ сделать переключатель в python, например nyvalue = not myval?

4b9b3361

Ответ 1

Используйте not логический оператор:

nyval = not myval

not возвращает логическое значение (True или False):

>>> not 1
False
>>> not 0
True

Если у вас должно быть целое число, верните его:

nyval = int(not myval)

Однако тип python bool является подклассом int, поэтому это может не понадобиться:

>>> int(not 0)
1
>>> int(not 1)
0
>>> not 0 == 1
True
>>> not 1 == 0
True

Ответ 2

В python not является логическим оператором, который получает противоположное значение:

>>> myval = 0
>>> nyvalue = not myval
>>> nyvalue
True
>>> myval = 1
>>> nyvalue = not myval
>>> nyvalue
False

И True == 1 и False == 0 (если вам нужно преобразовать его в целое число, вы можете использовать int())

Ответ 3

Используйте not, например:

return not myval