Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah kod saya menemui nama objek dalam Python?

Bagaimanakah kod saya menemui nama objek dalam Python?

WBOY
WBOYke hadapan
2023-08-19 14:57:141012semak imbas

Bagaimanakah kod saya menemui nama objek dalam Python?

Tidak, tiada cara dalam Python untuk menemui nama objek. Sebabnya ialah objek sebenarnya tidak mempunyai nama.

Katakan kita mempunyai kod berikut. Di sini kita tidak dapat mencari nama contoh sebenar. Oleh kerana kedua-dua ob1 dan ob2 terikat pada nilai yang sama, kita tidak boleh membuat kesimpulan sama ada nama contoh bagi ob1 atau ob2 adalah sama −

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

# Creating a Demo Class
class Demo:
   pass

Example = Demo
ob1 = Example()
ob2 = ob1

print(ob2)
print(ob1)

Output

<__main__.Demo object at 0x00000250BA6C5390>
<__main__.Demo object at 0x00000250BA6C5390>

Seperti yang kita lihat di atas, kita tidak boleh memaparkan nama sebenar objek tersebut. Walau bagaimanapun, kami boleh memaparkan kejadian dan kiraan, seperti yang ditunjukkan dalam contoh di bawah.

Dapatkan contoh kelas

Dalam contoh ini, kami mencipta kelas Demo dengan empat kejadian -

ob1 = Demo()
ob2 = Demo()
ob3 = Demo()
ob4 = Demo()

Kami mengulangi objek dalam ingatan −

for ob in gc.get_objects():

Contoh

Menggunakan fungsi isinstance(), setiap objek akan disemak sama ada ia adalah tika kelas Demo. Mari lihat contoh lengkap -

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)

Output

<__main__.Demo object at 0x7f18e74fe4c0>
<__main__.Demo object at 0x7f18e7409d90>
<__main__.Demo object at 0x7f18e7463370>
<__main__.Demo object at 0x7f18e7463400>

Paparkan bilangan kejadian kelas

Dalam contoh ini kami akan mengira kejadian dan memaparkan −

Contoh

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)

Output

Count the instances = 4

Atas ialah kandungan terperinci Bagaimanakah kod saya menemui nama objek dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam