Untuk mengakses classname dari tipe objek, gunakan atribut __name__
Cara mendapatkan nama kelas dengan Python
Untuk mendapatkan nama kelas dari sebuah instance dengan Python
- Gunakan fungsi type() dan __name__ untuk mendapatkan tipe atau kelas dari Object/Instance
- 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
repeatMari 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
listJika Anda menggunakan Python 2. x, sintaks berikut akan bekerja untuk Anda
data.__class__.__name___Anda juga bisa mendapatkan nama kelas sebagai string
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
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
- 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
- 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 - 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
YesSeperti 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 TrueCatatan. 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 Trueisinstance() 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 typeisinstance() 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 Falsefungsi 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
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? TruePeriksa 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")_0Periksa 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