Hier ist ein Beispiel einer zyklischen Referenz von Python.In Python, was ist die Referenzzahl der zyklischen Referenz und warum?
>>> a = [1]
>>> b = [2]
>>> a.append(b)
>>> b.append(a)
nach diesem,
>>> sys.getrefcount(a) = 3
>>> sys.getrefcount(b) = 3
Warum a
und b
haben einen Referenzzähler von 3 ??
Sorry Leute, ich habe gerade einen Fehler gemacht.
die wirkliche Frage ist die andere.
>>> GNU = ['is not Unix']
>>> GNU.insert(0, GNU)
>>> sys.getrefcount(GNU) = 4
Warum ist die Referenzzahl von 'GNU' 4?
Vielen Dank im Voraus :)
Ich kann Ihr letztes Beispiel nicht reproduzieren. – BrenBarn
ich benutze jetzt 2.7.5 Version. Nun, es funktioniert auf meinem Programm. – nextdoordoc
Noch kann Ihre aktualisierte Frage nicht reproduziert werden. 'Von sys import getrefcount als r; g = [0]; r (g); g.insert (0, g); r (g)' → 2, 3; Wie auch immer, versuchen Sie, den Refcount * vor * und * nach dem Einfügen zu überprüfen. Vielleicht verstehst du nicht, was du nicht verstehst. – kojiro