python 如何“否定"value : 如果为真则返回假,如果为假则返回真

2022-01-19 00:00:00 python boolean negate

问题描述

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

有没有更好的方法在 python 中进行切换,比如 nyvalue = not myval ?

Is there a better way to do a toggle in python, like a nyvalue = not myval ?


解决方案

使用not 布尔运算符:

Use the not boolean operator:

nyval = not myval

not 返回一个 boolean 值(TrueFalse):

not returns a boolean value (True or False):

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

如果你必须有一个整数,把它转换回来:

If you must have an integer, cast it back:

nyval = int(not myval)

不过,python bool 类型是 int 的子类,所以可能不需要:

However, the python bool type is a subclass of int, so this may not be needed:

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

相关文章