Heim > Backend-Entwicklung > Python-Tutorial > Der Unterschied zwischen Python ist und ==

Der Unterschied zwischen Python ist und ==

(*-*)浩
Freigeben: 2019-08-10 15:38:27
Original
4683 Leute haben es durchsucht

Der Unterschied zwischen

pythonis und ==:

Der Unterschied zwischen Python ist 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
Nach dem Login kopieren

Das Ergebnis:

 True
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage