Dieser Artikel stellt vor, worauf sich die Funktion id() bezieht. Sie hat einen bestimmten Referenzwert. Jetzt können Freunde in Not auf die Funktion
verweisen Holen Sie sich die Speicheradresse des Objekts. Viele Freunde wissen nicht, was die ID-Funktion in Python ist? Als nächstes wird der Herausgeber diesen Artikel mit Ihnen teilen, um Ihnen beim Lernen zu helfen
Die Erklärung in der offiziellen Python-Dokumentation lautet
id(object)
Gibt die zurück „Identität“ eines Objekts. Dies ist eine Ganzzahl (oder lange Ganzzahl), die für dieses Objekt während seiner Lebensdauer garantiert eindeutig und konstant ist. Zwei Objekte mit nicht überlappenden Lebensdauern können denselben id()-Wert haben.
CPython-Implementierungsdetail: Dies ist die Adresse des Objekts im Speicher.
Sie können dies sehen:
1. id(object) gibt die „ID-Karte“ zurück „Nummer“ des Objekts, eindeutig und unverändert, aber derselbe ID-Wert kann in nicht überlappenden Lebenszyklen auftreten. Die hier genannten Objekte sollten sich speziell auf zusammengesetzte Typobjekte (wie Klassen, Listen usw.) beziehen. Bei Typen wie Zeichenfolgen und Ganzzahlen ändert sich die ID der Variablen, wenn sich der Wert ändert.
2. Der ID-Wert eines Objekts repräsentiert seine Adresse im Speicher im CPython-Interpreter. (CPython-Interpreter: http://zh.wikipedia.org/wiki/CPython) Wenn bestimmt wird, ob zwei Objekte gleich sind, ist die Basis der ID-Wert
class Obj(): def __init__(self,arg): self.x=arg if __name__ == '__main__': obj=Obj(1) print id(obj) #32754432 obj.x=2 print id(obj) #32754432 s="abc" print id(s) #140190448953184 s="bcd" print id(s) #32809848 x=1 print id(x) #15760488 x=2 print id(x) #15760464
Der Unterschied zwischen is und == besteht darin, dass es sich um einen Vergleich im Speicher handelt und == um einen Vergleich von Werten
Verwandte Empfehlungen:
class Obj(): def __init__(self,arg): self.x=arg def __eq__(self,other): return self.x==other.x if __name__ == '__main__': obj1=Obj(1) obj2=Obj(1) print obj1 is obj2 #False print obj1 == obj2 #True lst1=[1] lst2=[1] print lst1 is lst2 #False print lst1 == lst2 #True s1='abc' s2='abc' print s1 is s2 #True print s1 == s2 #True a=2 b=1+1 print a is b #True a = 19998989890 b = 19998989889 +1 print a is b #False
Das obige ist der detaillierte Inhalt vonWorauf bezieht sich die Funktion id() in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!