Heim >Backend-Entwicklung >Python-Tutorial >Python-Funktion – ID-Funktion

Python-Funktion – ID-Funktion

高洛峰
高洛峰Original
2016-10-17 14:49:351328Durchsuche

id(object)

Funktion: Zurückgegeben wird die „ID-Kartennummer“ des Objekts, die eindeutig und unverändert ist. Derselbe ID-Wert kann jedoch 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.

Python-Version: Python2.x Python3.x

Erklärung zum offiziellen Python-Dokument:

Gibt die „Identität“ eines Objekts zurück. Dies ist eine Ganzzahl (oder eine 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 in Speicher.


Hinweis: Der ID-Wert eines Objekts stellt seine Adresse im Speicher im CPython-Interpreter dar (dem in Pythons C-Sprache implementierten Interpreter).


Codebeispiel:

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

Wenn mit bestimmt werden soll, ob zwei Objekte gleich sind, ist die Basis der ID-Wert

is und Der Unterschied zwischen == besteht darin, dass is ein Vergleich im Speicher ist und == ein Wertevergleich ist


Stellungnahme:
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