Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah maksud isinstance dalam python

Apakah maksud isinstance dalam python

青灯夜游
青灯夜游asal
2023-01-11 14:03:249317semak imbas

Dalam python, isinstance bermaksud "penghakiman jenis". isinstance() ialah fungsi terbina dalam yang digunakan untuk menentukan sama ada objek adalah jenis yang diketahui Sintaksnya ialah "isinstance(objek, jenis)". tuple, dan Object ialah salah satu jenis dalam tupel, maka fungsi ini juga akan mengembalikan True.

Apakah maksud isinstance dalam python

Persekitaran pengendalian tutorial ini: sistem windows7, versi python3, komputer DELL G3

Dalam python, isinstance bermaksud "penghakiman jenis" .

fungsi isinstance() python

fungsi isinstance() untuk menentukan sama ada objek ialah jenis yang diketahui, serupa dengan type().

Perbezaan antara isinstance() dan type():

  • type() tidak menganggap subkelas sebagai jenis kelas induk dan tidak menganggap hubungan warisan.

  • isinstance() akan menganggap subkelas sebagai jenis kelas induk dan mempertimbangkan hubungan warisan.

Jika anda ingin menentukan sama ada dua jenis adalah sama, adalah disyorkan untuk menggunakan isinstance().

Fungsi isinstance() mengembalikan True jika objek yang ditentukan mempunyai jenis yang ditentukan, jika tidak, ia mengembalikan False.

Jika parameter jenis ialah tuple, maka fungsi ini akan mengembalikan True jika objek adalah salah satu jenis dalam tupel.

Sintaks:

isinstance(object, type)
参数 描述
object 必需。对象。
type 类型或类,或类型和/或类的元组。

Contoh 1: Semak sama ada "Hello" ialah salah satu jenis yang diterangkan dalam parameter jenis

x = isinstance("Hello", (str, float, int, str, list, dict, tuple))
print(x)

Apakah maksud isinstance dalam python

Contoh 2: Semak sama ada y ialah contoh myObj

class myObj:
  name = "Bill"

y = myObj()

x = isinstance(y, myObj)

print(x)

Apakah maksud isinstance dalam python

Pengetahuan lanjutan: perbezaan antara jenis dan isinstance

Dalam python, jenis boleh mendapatkan jenis data objek, dan isinstance boleh menentukan jenis data objek Terdapat dua perbezaan di antara mereka

1. isinstance lebih fleksibel

jenis hanya mengembalikan jenis data objek, manakala isinstance boleh menentukan sama ada jenis data objek ini ialah salah satu daripada beberapa jenis data.

Katakan kita ingin menentukan sama ada jenis data objek adalah int atau terapung Contoh cara menulis dua fungsi adalah seperti berikut

a = 4

# 使用type
if type(a) == int or type(a) == float:
    print('yes')

# 使用isinstance
if isinstance(a, (int, float)):
    print('yes')

Jelas sekali, dalam senario ini, isinstance. mempunyai kelebihan

2 Tentukan kewujudan hubungan warisan

class A:
    pass


class B(A):
    pass

a = A()
b = B()

print(type(b) == A)         # False
print(isinstance(b, A))     # True

B ialah subkelas A, jenis(b) mengembalikan kelas B, yang bukan. sama dengan A, tetapi B ialah subkelas A. Oleh itu, kita boleh menganggap bahawa b juga merupakan objek A. Dalam menghadapi situasi ini di mana terdapat hubungan pewarisan, isinstance

harus digunakan. Pembelajaran yang disyorkan: Tutorial video Python

Atas ialah kandungan terperinci Apakah maksud isinstance dalam python. 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
Artikel sebelumnya:Apakah maksud "+=" dalam pythonArtikel seterusnya:Apakah maksud "+=" dalam python