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

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

4

4 回答 4

107

使用not布尔运算符

nyval = not myval

not返回一个布尔值(TrueFalse):

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

如果您必须有一个整数,请将其转换回:

nyval = int(not myval)

但是,pythonbool类型是 的子类int,因此可能不需要:

>>> int(not 0)
1
>>> int(not 1)
0
>>> not 0 == 1
True
>>> not 1 == 0
True
于 2013-06-18T11:49:54.377 回答
3

在 python 中,not是一个布尔运算符,它与一个值相反:

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

True == 1False == 0如果需要将其转换为整数,可以使用int()

于 2013-06-18T11:50:04.447 回答
2

使用not,例如:

return not myval
于 2013-06-18T11:50:28.540 回答
0
variable = not (False | variable)

类似于

if variable == True:
    variable = False
elif variable == False:
    variable = True
于 2022-01-18T10:38:57.737 回答