Gunakan fungsi isinstance() Python untuk menentukan sama ada objek tergolong dalam kelas tertentu
Dalam Python, kita selalunya perlu menentukan sama ada objek tergolong dalam kelas tertentu. Untuk memudahkan pertimbangan kategori, Python menyediakan fungsi terbina dalam isinstance(). Artikel ini akan memperkenalkan penggunaan fungsi isinstance() dan memberikan contoh kod. Fungsi
isinstance() boleh menentukan sama ada objek tergolong dalam kelas yang ditentukan atau kelas terbitan kelas tersebut. Sintaksnya adalah seperti berikut:
isinstance(objek, info kelas)
Antaranya, objek ialah objek yang akan dinilai, dan classinfo boleh menjadi satu kelas atau tuple yang terdiri daripada kelas. Jika objek milik salah satu kelas atau kelas terbitannya, fungsi isinstance() akan mengembalikan True, jika tidak, ia mengembalikan False.
Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi isinstance() untuk menentukan jenis objek:
class Dog: def __init__(self, name): self.name = name class Cat: def __init__(self, name): self.name = name dog = Dog("旺财") cat = Cat("小花") print(isinstance(dog, Dog)) # 输出:True print(isinstance(dog, Cat)) # 输出:False print(isinstance(cat, (Dog, Cat))) # 输出:True
Dalam contoh di atas, kami menentukan dua kelas Dog dan Cat, yang kedua-duanya mempunyai nama atribut. Kemudian kami mencipta objek anjing dan objek kucing. Melalui fungsi isinstance(), kami menentukan sama ada objek anjing tergolong dalam kelas Dog, sama ada objek kucing tergolong dalam kelas Cat dan sama ada objek kucing tergolong dalam kelas Dog atau kelas Cat.
Selain menentukan jenis objek tunggal, fungsi isinstance() juga boleh menentukan sama ada objek tergolong dalam mana-mana berbilang kelas.
Perlu diperhatikan bahawa fungsi isinstance() juga boleh digunakan untuk menentukan hubungan pewarisan jenis objek. Maksudnya, jika kelas mewarisi kelas lain, fungsi isinstance() boleh menentukan sama ada objek itu tergolong dalam kelas induk atau subkelas.
Berikut ialah contoh yang lebih kompleks yang menunjukkan penghakiman warisan bagi fungsi isinstance():
class Animal: pass class Mammal(Animal): pass class Dog(Mammal): def __init__(self, name): self.name = name class Cat(Mammal): def __init__(self, name): self.name = name dog = Dog("旺财") cat = Cat("小花") print(isinstance(dog, Dog)) # 输出:True print(isinstance(dog, Mammal)) # 输出:True print(isinstance(dog, Animal)) # 输出:True print(isinstance(cat, Mammal)) # 输出:True print(isinstance(cat, Animal)) # 输出:True print(isinstance(dog, Cat)) # 输出:False
Dalam contoh di atas, kami mentakrifkan kelas Haiwan dan kelas Mamalia sebagai kelas induk, dan kemudian menentukan kelas Anjing dan Kelas kucing ialah subkelas kelas Mamalia. Melalui fungsi isinstance(), kami menentukan sama ada objek anjing tergolong dalam kelas Anjing, kelas Mamalia dan kelas Haiwan, sama ada objek kucing tergolong dalam kelas Mamalia dan kelas Haiwan, dan sama ada objek anjing itu tergolong dalam kelas Kucing.
Melalui pengenalan artikel ini, kita dapat melihat bahawa kita boleh dengan mudah menentukan sama ada objek tergolong dalam kelas tertentu melalui fungsi isinstance(). Dalam pembangunan sebenar, menguasai penggunaan fungsi isinstance() boleh membantu kami mengendalikan pertimbangan jenis objek dan memproses logik dengan lebih fleksibel. Jika anda berminat dengan pertimbangan kategori Python, anda mungkin ingin berlatih menggunakan fungsi isinstance() dalam projek sebenar, saya percaya ia akan membantu kemahiran pengaturcaraan anda.
Atas ialah kandungan terperinci Gunakan fungsi isinstance() Python untuk menentukan sama ada objek tergolong dalam kelas tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!