python如何“否定”值:如果true返回false,如果false返回true

时间:2013-06-18 11:47:43

标签: python boolean negate

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

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

3 个答案:

答案 0 :(得分:68)

使用not boolean operator

nyval = not myval

not返回布尔值(TrueFalse):

>>> 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

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

使用not,例如:

return not myval