Das dritte Zen von Python
Einfach ist besser als komplex.
In Python belegt jedes Zeichen in einer Zeichenfolge 8 Bit Platz.
>>> import sys >>> sys.getsizeof('') 37 >>> sys.getsizeof('a') 38
Wie Sie sehen, belegt das Nullzeichen 37 Bytes und die Zeichenfolge „a“ mit der Länge 1 belegt 38 Bytes Speicher ein weiteres Zeichen a Dann gibt es noch 1 Byte.
Verwandte Empfehlungen: „Python-Video-Tutorial“
Jedes Zeichen wird in ob_sval gespeichert und hat eine Größe von 8 Bit. Die restlichen 36 Bytes stammen hauptsächlich von Makro PyObject_VAR_HEAD. Tatsächlich verwendet die String-Implementierung von Python auch eine globale Variable namens *interned, die Strings mit einer Länge von 0 oder 1, also char, speichern kann, was Platz sparen und beschleunigen kann.
Tatsächlich gibt es in Python weder Zeiger noch „nackte Datenstrukturen“ (Nicht-Objekte), selbst die einfachste Ganzzahl, Integer, wird auf diese Weise implementiert.
Kurz gesagt, dieses Design entspricht Pythons Designphilosophie „Alles ist ein Objekt“ und „Alles ist so einfach wie möglich“.
Das obige ist der detaillierte Inhalt vonUnterstützt Python char?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!