Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah maksud isinstance dalam python

Apakah maksud isinstance dalam python

青灯夜游
Lepaskan: 2023-01-11 14:03:24
asal
9458 orang telah melayarinya

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)
Salin selepas log masuk
参数描述
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)
Salin selepas log masuk

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)
Salin selepas log masuk

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')
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan