it-swarm.com.de

python wie man einen Wert "negiert": wenn wahr, dann wird falsch zurückgegeben, wenn falsch, dann wird wahr zurückgegeben

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

Gibt es eine bessere Möglichkeit, in Python umzuschalten, wie zum Beispiel nyvalue = not myval?

38
user2239318

Verwenden Sie den booleschen Operator not :

nyval = not myval

not gibt einen booleschen Wert (True oder False) zurück:

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

Wenn Sie eine Ganzzahl benötigen, setzen Sie diese zurück:

nyval = int(not myval)

Der Typ python bool ist jedoch eine Unterklasse von int, sodass dies möglicherweise nicht erforderlich ist:

>>> int(not 0)
1
>>> int(not 1)
0
>>> not 0 == 1
True
>>> not 1 == 0
True
73
Martijn Pieters

In Python ist not ein boolescher Operator, der das Gegenteil eines Werts erhält:

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

Und True == 1 Und False == 0 (Wenn Sie es in eine Ganzzahl konvertieren müssen, können Sie int() verwenden)

2
TerryA

Verwenden Sie not , zum Beispiel:

return not myval