Enthält Python interne Zeichenfolgen?

In Java werden explizit deklarierte Zeichenfolgen von der JVM interniert, sodass nachfolgende Deklarationen derselben Zeichenfolge zu zwei Zeigern auf dieselbe Zeichenfolgeninstanz und nicht zu zwei separaten (aber identischen) Zeichenfolgen führen.

Zum Beispiel:

public String baz() {
    String a = "astring";
    return a;
}

public String bar() {
    String b = "astring"
    return b;
}

public void main() {
    String a = baz()
    String b = bar()
    assert(a == b) // passes
}

Meine Frage ist, macht CPython (oder eine andere Python-Laufzeit) dasselbe für Strings? Zum Beispiel, wenn ich eine Klasse habe:

class example():
    def __init__():
        self._inst = 'instance' 

Erstellen Sie 10 Instanzen dieser Klasse. Verfügt jede Instanz über eine Variable, die auf dieselbe Zeichenfolge im Speicher verweist, oder erhalte ich 10 separate Zeichenfolgen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage