Werttyp:
Enthält: Zeichenfolge, Tupel, Wert, selbst darf nicht geändert werden
Referenztyp:
Enthält: Liste, Wörterbuch, selbst darf nicht geändert werden erlaubt Ändern
a = 2
b = a
a = 3
Ändern Sie einfach den Wert des Werttyps Lassen Sie es auf zeigen Eine neue Speicheradresse ändert den Wert der Variablen b nicht
lista = [1,2]
listb = lista
lista[ 0] = 3
Ändern Sie den Wert des Referenztyps. Da die Adresse von listb mit lista übereinstimmt, wird sie auch geändert.
Im Allgemeinen können Sie nur den Wert kopieren Verwenden Sie die Sharding-Operation
listb = lista[:]
Die Wertübergabe übergibt nur den Wert
Die Referenzübergabe übergibt die Speicheradresse. Nach der Änderung wird der der Speicheradresse entsprechende Wert gespeichert geändert werden.
Am klarsten ist es, ein Array als Beispiel zu verwenden. Wenn wir beispielsweise ein Array a[]={1,2};
definieren, dann ist a[0]=1,a[1]=2 .
Wenn wir den Elementwert in Array a als Parameter übergeben, übergibt es eigentlich nur den Wert und hat keine Auswirkung auf das Array selbst.
Wenn wir den Zeiger von Array a als Parameter übergeben, dann die Funktion das damit umgeht, kann den Wert in Array a direkt ändern.
Das obige ist der detaillierte Inhalt vonDie Werttypen und Referenztypen von Python und der Unterschied zwischen Wertübergabe und Referenzübergabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!