Ecco un esempio di riferimento ciclico di Python.In Python, qual è il numero di riferimento del riferimento ciclico e perché?
>>> a = [1]
>>> b = [2]
>>> a.append(b)
>>> b.append(a)
dopo questo,
>>> sys.getrefcount(a) = 3
>>> sys.getrefcount(b) = 3
Perché a
e b
avere un conteggio di riferimento del 3 ??
Scusate ragazzi ho appena fatto un errore.
la vera domanda è la diversa.
>>> GNU = ['is not Unix']
>>> GNU.insert(0, GNU)
>>> sys.getrefcount(GNU) = 4
Perché il numero di riferimento di 'GNU' è 4?
Grazie in anticipo :)
Non riesco a riprodurre l'ultimo esempio. – BrenBarn
sto usando la versione 2.7.5 ora. bene funziona sul mio programma. – nextdoordoc
Ancora non riesci a riprodurre la tua domanda aggiornata. 'da sys import getrefcount as r; g = [0]; r (g); g.insert (0, g); r (g)' → 2, 3; Ad ogni modo, prova a controllare il conto * prima * e * dopo * l'inserto. Forse quello che non capisci non è ciò che pensi di non capire. – kojiro