Cara memeriksa kelas suatu objek dengan python

Kelas dalam Python seperti konstruktor objek atau "cetak biru" untuk membuat objek. Class dapat didefinisikan sebagai deskripsi atau definisi objek. Kelas menggambarkan apa yang akan menjadi objek tetapi dipisahkan dari objek itu sendiri

Untuk mengakses classname dari tipe objek, gunakan atribut __name__

Cara mendapatkan nama kelas dengan Python

Untuk mendapatkan nama kelas dari sebuah instance dengan Python

  1. Gunakan fungsi type() dan __name__ untuk mendapatkan tipe atau kelas dari Object/Instance
  2. Menggunakan kombinasi __class__ dan __name__ untuk mendapatkan tipe atau kelas dari Object/Instance

Fungsi type() digunakan untuk mendapatkan tipe data dari objek Python

Contoh

Mari kita ambil contoh string sederhana dan periksa nama kelasnya

data = "Playstation 5" print(type(data).__name__)

Keluaran

str_

Seperti yang Anda lihat, kelas instance string adalah str

Mari gunakan modul itertools, gunakan instance pengulangannya, dan dapatkan nama kelasnya

import itertools data = itertools.repeat(1) print(type(data).__name__)

Keluaran

repeat

Mari kita tentukan daftar kosong dan temukan kelas instance daftar

a_list = [] data_type = type(a_list) class_name = data_type.__name__ print(class_name)_

Keluaran

list

Jika Anda menggunakan Python 2. x, sintaks berikut akan bekerja untuk Anda

data.__class__.__name___

Anda juga bisa mendapatkan nama kelas sebagai string

class K: pass k = K() print(str(k.__class__))

Keluaran

<class '__main__.K'>_

Itu saja untuk tutorial ini

Fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2 Python memeriksa apakah objek atau variabel adalah turunan dari tipe kelas atau tipe data yang ditentukan

Misalnya, num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_3 memeriksa apakah num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")4 adalah turunan dari kelas num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")5

Juga, Selesaikan. Latihan Dasar Python dan Kuis Pemula

Daftar isi

Cara Menggunakan Fungsi isinstance() dengan Python

Mari kita lihat sintaksnya terlebih dahulu sebelum beralih ke contoh

Sintaksis

isinstance(object, classinfo)

  • Dibutuhkan dua argumen, dan keduanya wajib
  • Fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2 memeriksa apakah argumen num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")7 adalah turunan atau subkelas dari argumen kelas num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")8

Python adalah instance()

Dengan menggunakan fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_2, kita dapat menguji apakah suatu objek/variabel adalah turunan dari tipe atau kelas yang ditentukan seperti int atau daftar. Dalam kasus pewarisan, kita dapat memeriksa apakah kelas yang ditentukan adalah kelas induk dari suatu objek

  1. Lewati objek ke isinstance()

    Berikan variabel yang ingin Anda periksa sebagai num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_7 argumen ke num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2. Di sini objek dapat berupa objek kelas apa saja atau nama variabel apa pun

  2. Tentukan nama Kelas atau Jenis sebagai argumen num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")8

    Misalnya, Yes_3 untuk memeriksa apakah Yes4 adalah turunan dari kelas Yes5
    num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")8 adalah nama jenis atau nama Kelas yang ingin Anda periksa terhadap variabel. Di sini Anda dapat menentukan nama tipe data atau Nama kelas
    Anda juga dapat melewatkan beberapa kelas/tipe dalam format Tuple. Misalnya, Anda dapat melewati Yes_5, num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")5, Yes9, # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True0, atau kelas yang dibuat pengguna

  3. Jalankan operasi Anda, Jika hasilnya Benar

    num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2 mengembalikan True jika suatu objek atau variabel bertipe tertentu jika tidak False

Contoh

Menggunakan isintance() kita dapat memverifikasi apakah suatu variabel adalah angka atau string. Mari kita asumsikan variabel # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True2, dan Anda ingin memeriksa apakah num adalah turunan dari tipe int

num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_

Keluaran

Yes

Seperti yang dapat kita lihat pada keluaran, num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_2 mengembalikan # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True4 karena # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True5 menyimpan nilai bilangan bulat

Catatan. Jika argumen num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_8 bukan Kelas, tipe, atau tupel tipe, pengecualian # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True7 dimunculkan

isinstance() Dengan Jenis Bawaan

Seperti yang Anda ketahui, Setiap nilai (variabel) di Python memiliki tipe. Dalam Python, kita dapat menggunakan berbagai tipe bawaan seperti Yes5, # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True9, daftar, tuple, string, kamus. Sebagian besar waktu, Anda ingin memeriksa jenis nilai untuk melakukan beberapa operasi. Dalam hal ini, fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_2 berguna

# Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True

Catatan. Jika kita menggunakan num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_2 dengan variabel atau objek apa pun dengan var = None # empty but not None s1 = '' print(isinstance(var, float)) # Output False print(isinstance(s1, str)) # Output True2, ia mengembalikan var = None # empty but not None s1 = '' print(isinstance(var, float)) # Output False print(isinstance(s1, str)) # Output True3. Mari kita lihat contoh sederhananya

var = None # empty but not None s1 = '' print(isinstance(var, float)) # Output False print(isinstance(s1, str)) # Output True

isinstance() Dengan Beberapa Kelas

Anda juga dapat memeriksa instance dengan berbagai jenis. Katakanlah Anda memiliki variabel, dan Anda ingin memeriksa apakah variabel tersebut memiliki nilai numerik atau tidak, misalnya, nilai numerik dapat berupa Yes5 atau # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True9

Untuk memverifikasi apakah suatu variabel adalah turunan dari salah satu tipe yang ditentukan, kita perlu menyebutkan semua tipe dalam sebuah tuple dan meneruskannya ke argumen classInfo dari num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2

Contoh

def check_number(var): if isinstance(var, (int, float)): print('variable', var, 'is instance of numeric type') else: print('variable', var, 'is not instance of numeric type') num1 = 80 check_number(num1) # Output variable 80 is instance of numeric type num2 = 55.70 check_number(num2) # Output variable 55.7 is instance of numeric type num3 = '20' check_number(num3) # Output variable '20' is not instance of numeric type

isinstance() Dengan Kelas Python

num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2 berfungsi sebagai operator pembanding, dan membandingkan objek dengan tipe kelas yang ditentukan

Anda dapat memverifikasi apakah objek var = None # empty but not None s1 = '' print(isinstance(var, float)) # Output False print(isinstance(s1, str)) # Output True_8 adalah turunan dari kelas Karyawan yang ditentukan pengguna menggunakan fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2. Itu harus mengembalikan True

class Employee: def __init__(self, name, salary): self.name = name self.salary = salary class Person: def __init__(self, name, sex): self.name = name self.sex = sex emp = Employee("Emma", 11000) per = Person("Brent", "male") # Checking if a emp object is an instance of Employee print(isinstance(emp, Employee)) # Output True # Checking if the per object is an instance of Employee print(isinstance(per, Employee)) # Output False

fungsi isinstance() Dengan Warisan

Objek dari tipe subclass juga merupakan tipe dari parent class. Misalnya, Jika Mobil adalah subkelas dari Kendaraan, maka objek Mobil dapat dirujuk oleh Mobil atau Kendaraan. Dalam hal ini, def check_number(var): if isinstance(var, (int, float)): print('variable', var, 'is instance of numeric type') else: print('variable', var, 'is not instance of numeric type') num1 = 80 check_number(num1) # Output variable 80 is instance of numeric type num2 = 55.70 check_number(num2) # Output variable 55.7 is instance of numeric type num3 = '20' check_number(num3) # Output variable '20' is not instance of numeric type _0 akan mengembalikan # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True4

Fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2 bekerja berdasarkan prinsip hubungan is-a. Konsep relasi is-a didasarkan pada pewarisan kelas

def check_number(var): if isinstance(var, (int, float)): print('variable', var, 'is instance of numeric type') else: print('variable', var, 'is not instance of numeric type') num1 = 80 check_number(num1) # Output variable 80 is instance of numeric type num2 = 55.70 check_number(num2) # Output variable 55.7 is instance of numeric type num3 = '20' check_number(num3) # Output variable '20' is not instance of numeric type _3 mengembalikan True jika argumen classinfo dari instance() adalah kelas induk dari kelas objek

Untuk mendemonstrasikan ini, saya telah membuat dua kelas, Developer dan PythonDeveoper. Di sini PythonDeveoper adalah sub-kelas dari kelas Pengembang

class Developer(object): # Constructor def __init__(self, name): self.name = name def display(self): print("Developer:", self.name, "-") class PythonDeveloper(Developer): # Constructor def __init__(self, name, language): self.name = name self.language = language def display(self): print("Python Developer:", self.name, "language:", self.language, "-") # Object of PythonDeveloper dev = PythonDeveloper("Eric", "Python") # is PythonDeveloper object an instance of a PythonDeveloper Class print(isinstance(dev, PythonDeveloper)) # Output True # is python_dev object an instance of a Developer Class print(isinstance(dev, Developer)) # Output True

Catatan. Fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2 bermanfaat untuk mentransmisikan objek saat runtime karena setelah Anda mengetahui bahwa kelas yang diberikan adalah subkelas dari kelas induk, Anda dapat melakukan transmisi dengan tepat jika diperlukan

isinstance dengan daftar Python

Seperti yang Anda ketahui, daftar Python digunakan untuk menyimpan beberapa nilai sekaligus. Nilai-nilai ini dapat berupa tipe data apa pun seperti angka, string, atau objek Kelas apa pun

Pada bagian ini, kita akan menguji operasi berikut dengan daftar Python menggunakan fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2

  • Memeriksa apakah suatu objek bertipe ________21______9 dengan python
  • Periksa apakah elemen daftar adalah daftar
  • Verifikasi apakah elemen daftar adalah angka atau string
  • Python memeriksa apakah semua elemen daftar adalah tipe yang sama

Memeriksa apakah suatu objek adalah turunan dari tipe daftar

sample_list = ["Emma", "Stevan", "Brent"] res = isinstance(sample_list, list) print(sample_list, 'is instance of list?', res) # Output 'Emma', 'Stevan', 'Brent'] is instance of list? True

Periksa apakah elemen daftar adalah daftar bersarang

Untuk memeriksa apakah salah satu elemen dalam daftar itu sendiri adalah sebuah daftar. Misalnya, Anda memiliki daftar berikut, Gunakan num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2 untuk memverifikasi apakah daftar berisi daftar bersarang

sampleList = ['Emma', 'Stevan', ['Jordan', 'Donald', 'Sam']]

Ulangi daftar dan verifikasi setiap kelas elemen, dan jika itu adalah tipe daftar, kita dapat mengatakan bahwa daftar tersebut berisi daftar bersarang

num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")_0

Periksa apakah elemen daftar adalah angka atau string

Periksa jenis setiap elemen dengan beberapa jenis numerik seperti Yes5, # Check if 80 is an instance of class int number = 80 print(isinstance(number, int)) # output True print(isinstance(number, float)) # output False pi = 3.14 # Check 3.14 is an instance of class float print(isinstance(pi, float)) # Output True # Check if (1 + 2j) is an instance of complex complex_num = 1 + 2j print(isinstance(complex_num, complex)) # Output True # Check if 'PYnative' is an instance of class string name = "PYnative.com" print(isinstance(name, str)) # Output True # Check if names is an instance of class list names = ["Eric", "Scott", "Kelly"] print(isinstance(names, list)) # Output True # Check if student_report is an instance of class dict student_report = {"John": 80, "Eric": 70, "Donald": 90} print(isinstance(student_report, dict)) # Output True # Check if names is an instance of class tuple names = ("Sam", "Kelly", 'Emma') print(isinstance(names, tuple)) # Output True # Check if numbers is an instance of class tuple numbers = {11, 22, 33, 44, 55} print(isinstance(numbers, set)) # Output True9, dan class Employee: def __init__(self, name, salary): self.name = name self.salary = salary class Person: def __init__(self, name, sex): self.name = name self.sex = sex emp = Employee("Emma", 11000) per = Person("Brent", "male") # Checking if a emp object is an instance of Employee print(isinstance(emp, Employee)) # Output True # Checking if the per object is an instance of Employee print(isinstance(per, Employee)) # Output False0menggunakan fungsi num = 90 result = isinstance(num, int) if result: print("Yes") else: print("No")2

Apa kelas objek di Python?

Kelas Python seperti garis besar untuk membuat objek baru . Objek adalah segala sesuatu yang ingin Anda manipulasi atau ubah saat mengerjakan kode. Setiap kali objek kelas dibuat, yaitu saat kita mendeklarasikan variabel, objek baru dimulai dari awal.

Apa itu __ kelas __ dengan Python?

__class__ adalah atribut pada objek yang merujuk ke kelas tempat objek dibuat . A. __class__ # Keluaran.

Bagaimana Anda memeriksa apakah suatu objek ada di Python?

Python Fungsi isinstance() . Jika parameter tipe adalah tuple, fungsi ini akan mengembalikan True jika objek adalah salah satu tipe di tuple.

Postingan terbaru

LIHAT SEMUA