Vergleicht Keiner mit built-in-Typen mithilfe von arithmetischen Operatoren?

Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> None > 0
False
>>> None == 0
False
>>> None < 0
True
  • Ist der Vergleich None Sie mithilfe von arithmetischen Operatoren gut definiert für built-in Typen (Ganzzahlen in diesem Fall)?
  • Ist der Unterschied zwischen den beiden ersten und den Dritten Vergleich Teil language specification (Python-Spezifikation - Sie müssen Spaß machen :)) oder ist es CPython Implementierung detail?
  • == und != sind in der Regel sicher, aber Sie sollen is None und is not None für singletons wie None als pro PEP-8
  • Der springende Punkt der Frage ist, was tut sicher hier bedeuten. Ich bin mir wohl bewusst, sollte man is zu vergleichen mit None aber Frage ist, spezifische und nicht Fragen, welcher operator verwendet werden soll.
  • bugs.python.org/issue1673405
Schreibe einen Kommentar