if x:
ist komplett entspricht dem Testen für den booleschen Wahrheitswert, ja.
Vom if
statement documentation:
Es genau einer der Suiten wählt durch die Ausdrücke einer Auswertung der von einer bis sein wahr zu finden ist (Abschnitt Boolean operations für die Definition von wahr und falsch sehen)
wo die Boolean operations section Details wie Wahrheit definiert ist. Die bool()
function folgt genau den gleichen Regeln:
Geben Sie einen booleschen Wert zurück, d. H. Einen von True oder False. x wird unter Verwendung des Standard-Wahrheitstestverfahrens konvertiert.
Die Standardtypen Dokumentation hat ein Truth Value Testing section:
Jedes Objekt kann für Wahrheitswert getestet werden, für die Verwendung in einem if
oder while
Zustand oder als Operanden der Booleschen Operationen unten.
not
invertiert einfach denselben Wahrheitswert; Wenn also x
durch die obigen Regeln als wahr betrachtet wird, gibt not x
sonst False
und True
zurück.
Seien Sie vorsichtig: in Python 2 kann die eingebauten Namen False
und True
indem maskiert werden, um eine global:
>>> True = False
>>> True
False
und damit is
Identitätstests durch diese Neuzuordnung täuschen kann als Gut. Python 3 macht False
und True
Schlüsselwörter.
Ihre Dienstprogrammfunktion sollte bool(x) is True
oder bool(x) is False
nicht verwenden müssen. Alles, was Sie brauchen, ist bool(x)
und not bool(x)
, da diese bereits produzieren True
und False
Objekte. bool()
und not
können nichts anderes zurückgeben, mit is True
oder is False
auf diese ist extrem redundant.
Last but not least, versuchen Sie nicht, das Testrad neu zu erfinden.Die Python-Standardbibliothek enthält eine unittest
Bibliothek; Es hat sowohl assertTrue
und assertFalse
Funktionen, und die implementation of these functions verwenden Sie einfach if
und if not
.
Seien Sie vorsichtig. 'wenn x wahr ist' ist nicht dasselbe wie' wenn bool (x) wahr ist'. –
@JohnKugelman Darf's weiter ausgebaut werden? Wann würden sie nicht gleichwertig sein? – RedX
Weil 'wenn x wahr ist' nur wahr ist, wenn' x = Wahr ', aber 'wenn bool (x) wahr ist' ist wahr wenn' x = 1' oder 'x = '' oder' x = [1, 2] 'usw. –