Wie erkennt mein Code den Namen eines Objekts in Python?

WBOY
Freigeben: 2023-08-19 14:57:14
nach vorne
1027 Leute haben es durchsucht

Wie erkennt mein Code den Namen eines Objekts in Python?

Nein, es gibt in Python keine Möglichkeit, den Namen eines Objekts zu ermitteln. Der Grund dafür ist, dass Objekte eigentlich keine Namen haben.

Angenommen, wir haben den folgenden Code. Hier können wir den tatsächlichen Instanznamen nicht finden. Da sowohl ob1 als auch ob2 an denselben Wert gebunden sind, können wir nicht schließen, ob die Instanznamen von ob1 oder ob2 gleich sind −

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

# Creating a Demo Class
class Demo:
   pass

Example = Demo
ob1 = Example()
ob2 = ob1

print(ob2)
print(ob1)
Nach dem Login kopieren

Ausgabe

<__main__.Demo object at 0x00000250BA6C5390>
<__main__.Demo object at 0x00000250BA6C5390>
Nach dem Login kopieren

Wie wir oben gesehen haben, können wir den genauen Namen des Objekts nicht anzeigen. Wir können jedoch Instanzen und Anzahlen anzeigen, wie im folgenden Beispiel gezeigt.

Holen Sie sich eine Instanz einer Klasse

In diesem Beispiel erstellen wir eine Demo-Klasse mit vier Instanzen -

ob1 = Demo()
ob2 = Demo()
ob3 = Demo()
ob4 = Demo()
Nach dem Login kopieren

Wir durchlaufen die Objekte im Speicher −

for ob in gc.get_objects():
Nach dem Login kopieren

Beispiel

Mit der Funktion isinstance() wird bei jedem Objekt geprüft, ob es eine Instanz der Demo-Klasse ist. Sehen wir uns ein vollständiges Beispiel an -

import gc

# Create a Class
class Demo:
   pass

# Four objects
ob1 = Demo()
ob2 = Demo()
ob3 = Demo()
ob4 = Demo()

# Display all instances of a given class
for ob in gc.get_objects():
   if isinstance(ob, Demo):
      print(ob)
Nach dem Login kopieren

Ausgabe

<__main__.Demo object at 0x7f18e74fe4c0>
<__main__.Demo object at 0x7f18e7409d90>
<__main__.Demo object at 0x7f18e7463370>
<__main__.Demo object at 0x7f18e7463400>
Nach dem Login kopieren

Zeigen Sie die Anzahl der Instanzen einer Klasse an

In diesem Beispiel berechnen wir die Instanz und zeigen −

an

Beispiel

import gc

# Create a Class
class Demo(object):
   pass

# Creating 4 objects
ob1 = Demo()
ob2 = Demo()
ob3 = Demo()
ob4 = Demo()

# Calculating and displaying the count of instances
res = sum(1 for k in gc.get_referrers(Demo) if k.__class__ is Demo)
print("Count the instances = ",res)
Nach dem Login kopieren

Ausgabe

Count the instances = 4
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erkennt mein Code den Namen eines Objekts in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage