Seite 2 von 2

Verfasst: Freitag 24. Juli 2009, 08:39
von str1442
Sind True und False in 3.0 nun genau wie None "Singletons"? Nachdem ich den Quelltext von sma gesehen hatte, habe ich in den What's new Dokumenten + Language Reference nachgeschlagen, habe aber nur herausgefunden, das beide nun wie None "reservierte Wörter" geworden sind.

Verfasst: Freitag 24. Juli 2009, 08:54
von Leonidas
str1442 hat geschrieben:Sind True und False in 3.0 nun genau wie None "Singletons"?
Ja, sind sie. Siehe ``help(bool)`` (aber das waren sie auch schon vorher, mindestens seit Python 2.5).

Verfasst: Freitag 24. Juli 2009, 08:56
von Defnull
sma hat geschrieben:Ansonsten habe ich nach birkenfelds Blick den Code nochmals geändert, weil mir doch 40 Zeilen für den Decoder einfach zu viel waren.
Genau DAS mag ich an sma :D

Verfasst: Freitag 24. Juli 2009, 10:39
von birkenfeld
Leonidas hat geschrieben:
str1442 hat geschrieben:Sind True und False in 3.0 nun genau wie None "Singletons"?
Ja, sind sie. Siehe ``help(bool)`` (aber das waren sie auch schon vorher, mindestens seit Python 2.5).
Schon seit sie in Python 2.2.x eingeführt wurden.

Verfasst: Freitag 24. Juli 2009, 12:14
von str1442
Das auch schon in 2.5 (und wie ich ja gerade gelesen habe, auch darunter) von beiden nur ein Exemplar existiert, wußte ich bereits, aber meine Frage war eher darauf gerichtet, ob das ein Implementierungsdetail ist oder nicht, ähnlich wie bei allen int Objekten unter einer bestimmten Grenze (ich glaube es war 256?), die ja auch gecacht werden, obwohl dieses Verhalten von CPython eben ein Implementierungsdetail ist. Sollte es also keins sein, mag es sein, das ich aufgrund der "reservierte Wörter" Geschichte, dem Cachen von normalen Integern und alten Postings aus dem Forum annahm, es wäre eins (Meine Güte, heute baue ich wieder wundervolle Sätze :roll:).

tl;dr: Da es in der Dokumentation für Bool steht, ist das also garantiert - Danke :)