Der Unterschied zwischen
pythonis und ==:
is wird zur Bestimmung von zwei verwendet Variablenreferenzen Ob die Objekte gleich sind, == wird verwendet, um zu bestimmen, ob die Werte der Referenzvariablen gleich sind.
a ist b entspricht id(a)==id(b), id() kann die Speicheradresse des Objekts erhalten. (Empfohlenes Lernen: Python-Video-Tutorial)
Wenn a=10;b=a; dann sind die Speicheradressen von a und b zu diesem Zeitpunkt gleich;
Aber wenn a = [1,2,3]; Wenn b = a [:], sind die Speicheradressen unterschiedlich, obwohl die Werte von a und b gleich sind.
Wenn Sie zu diesem Zeitpunkt a = 10 und b = 10 definieren und dann a mit b vergleichen, werden Sie feststellen, dass das zurückgegebene Ergebnis wahr ist. Dies liegt daran, dass in Python ein kleiner Formungspool erstellt wird einen Bereich von [-5.256], um Speicherplatz für diese Ganzzahlen freizugeben. Wenn Ganzzahlen innerhalb dieses Bereichs im Code definiert sind, wird die Speicheradresse nicht neu zugewiesen.
Und ich habe es in Pycharm getestet:
#coding=utf-8 a=100000000000; b=100000000000; print a is b
Das Ergebnis:
True
Nachdem ich die Informationen überprüft hatte, fand ich es heraus : Aus Leistungsgründen erstellt Python nicht wiederholt unveränderliche Objekte im selben Codeblock, sondern verweist direkt auf vorhandene Objekte, solange sie denselben Wert haben.
Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial, um mehr darüber zu erfahren!
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Python ist und ==. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!