Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menentukan Jenis Objek dengan Berkesan dalam Python: `type()` vs. `isinstance()`?

Bagaimana untuk Menentukan Jenis Objek dengan Berkesan dalam Python: `type()` vs. `isinstance()`?

Patricia Arquette
Patricia Arquetteasal
2024-12-03 02:04:09695semak imbas

How to Effectively Determine Object Types in Python: `type()` vs. `isinstance()`?

Cara Menentukan Jenis Objek dalam Python

Dalam Python, terdapat beberapa cara untuk menentukan jenis objek. Dua daripada kaedah yang paling biasa digunakan ialah type() dan isinstance().

Menggunakan type()

Fungsi type() mengembalikan jenis objek yang tepat . Contohnya:

>>> type([])
<class 'list'>
>>> type({})
<class 'dict'>

Menggunakan isinstance()

Fungsi isinstance() menyemak sama ada objek daripada jenis yang ditentukan atau subjenis daripada jenis itu. Ia menerima dua hujah: objek yang akan diperiksa dan jenis atau tuple jenis untuk diperiksa. Contohnya:

>>> isinstance([], list)
True
>>> isinstance({}, dict)
 True

Pertimbangan Warisan

isinstance() juga boleh digunakan untuk menentukan sama ada objek mewarisi daripada jenis tertentu. Contohnya:

class Test1(object):
    pass

class Test2(Test1):
    pass

obj1 = Test1()
obj2 = Test2()

>>> isinstance(obj1, Test1)
 True
>>> isinstance(obj2, Test1)  
 True

Memilih Antara jenis() dan isinstance()

isinstance() adalah lebih teguh dan menyokong warisan jenis. Ia harus digunakan dalam kebanyakan kes untuk menentukan jenis objek. type() hanya disyorkan apabila anda memerlukan objek jenis objek yang tepat.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Jenis Objek dengan Berkesan dalam Python: `type()` vs. `isinstance()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn