Memahami type() dan isinstance() dalam Python: Contoh Praktis
Apa Itu type() dalam Python?
Python memiliki fungsi bawaan bernama type() yang membantu Anda menemukan tipe kelas dari variabel yang diberikan sebagai masukan. Misalnya, jika masukan adalah string, Anda akan mendapatkan output <class ‘str’>, untuk list, akan menjadi <class ‘list’>, dst.
Menggunakan perintah type(), Anda dapat melewatkan satu argumen, dan nilai kembalinya akan menjadi tipe kelas dari argumen yang diberikan, contoh: type(object).
Sedang mungkin juga untuk melewatkan tiga argumen ke type(), yaitu, type(name, bases, dict), dalam kasus tersebut, ia akan mengembalikan objek tipe baru.
Dalam tutorial ini, Anda akan mempelajari:
- Apa Itu type() dalam Python?
- Sintaks untuk type():
- Contoh type()
- Contoh: Menggunakan type() untuk objek kelas.
- Contoh: Menggunakan name, bases, dan dict dalam type()
- Apa Itu isinstance() dalam Python?
- Sintaks isinstance():
- Contoh isinstance()
- Perbedaan Antara type() dan isinstance() dalam Python
Sintaks untuk type():
type() dapat digunakan dengan dua cara seperti di bawah ini:
type(object) type(namr, bases, dict)
Parameter: type(object)
- object: Ini adalah parameter wajib. Jika ini adalah satu-satunya parameter yang diteruskan ke type(), maka ia akan mengembalikan tipe dari parameter tersebut.
Parameter: type(name, bases, dict)
- name:nama kelas.
- bases: (opsional). Ini adalah parameter opsional, dan merupakan kelas dasar
- dict: (opsional). Ini adalah parameter opsional, dan merupakan namespace yang memiliki definisi kelas.
Nilai Kembali:
Jika objek adalah satu-satunya parameter yang diteruskan ke type() maka ia akan mengembalikan tipe objek tersebut.
Jika params yang diteruskan ke type adalah type(object, bases, dict), dalam kasus tersebut, ia akan mengembalikan tipe objek baru.
Contoh type()
Dalam contoh ini kita memiliki nilai string, angka, nilai float, bilangan kompleks, list, tuple, dict, dan set. Kita akan menggunakan variabel dengan type untuk melihat output untuk masing-masingnya.
str_list = "Selamat datang di Guru99" age = 50 pi = 3.14 c_num = 3j+10 my_list = ["A", "B", "C", "D"] my_tuple = ("A", "B", "C", "D") my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"} my_set = {'A', 'B', 'C', 'D'} print("Tipe adalah : ",type(str_list)) print("Tipe adalah : ",type(age)) print("Tipe adalah : ",type(pi)) print("Tipe adalah : ",type(c_num)) print("Tipe adalah : ",type(my_list)) print("Tipe adalah : ",type(my_tuple)) print("Tipe adalah : ",type(my_dict)) print("Tipe adalah : ",type(my_set)) Output:
Tipe adalah :<class 'str'> Tipe adalah :<class 'int'> Tipe adalah :<class 'float'> Tipe adalah :<class 'complex'> Tipe adalah :<class 'list'> Tipe adalah :<class 'tuple'> Tipe adalah :<class 'dict'> Tipe adalah :<class 'set'>
Contoh: Menggunakan type() untuk objek kelas.
Saat Anda memeriksa objek yang dibuat dari kelas menggunakan type(), ia mengembalikan tipe kelas beserta nama kelas. Dalam contoh ini, kita akan membuat kelas dan memeriksa tipe objek yang dibuat dari kelas test.
class test: s = 'testing' t = test() print(type(t))
Output:
<class '__main__.test'>
Contoh: Menggunakan name, bases, dan dict dalam type()
Tipe juga dapat dipanggil dengan sintaks: type(name, bases, dict).
Tiga parameter yang diteruskan ke type()yaitu, name, bases dan dict adalah komponen yang membentuk definisi kelas. name mewakili nama kelas, bases adalah kelas dasar, dan dict adalah dictionary atribut kelas dasar.
Dalam contoh ini, kita akan menggunakan semua tiga params yaitu name, bases, dan dict dalam type().
Contoh:
class MyClass: x = 'Hello World' y = 50 t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50)) print(type(t1)) print(vars(t1)) Output:
<class 'type'> {'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None} Saat Anda melewatkan semua tiga argumen ke type(), ia membantu Anda untuk menginisialisasi kelas baru dengan atribut kelas dasar.
Apa Itu isinstance() dalam Python?
Python isinstance adalah bagian dari fungsi bawaan python. Python isinstance() menerima dua argumen, dan mengembalikan true jika argumen pertama adalah instance dari classinfo yang diberikan sebagai argumen kedua.
Sintaks isinstance()
isinstance(object, classtype)
Parameter
- object: Sebuah objek yang instance-nya Anda bandingkan dengan classtype. Ia akan mengembalikan true jika tipe cocok, sebaliknya false.
- class type: Sebuah tipe atau kelas atau tuple tipe dan/atau kelas.
Nilai Kembali:
Ia akan mengembalikan true jika objek adalah instance dari classtype dan false jika tidak.
Contoh isinstance()
Dalam bagian ini, kita akan mempelajari berbagai contoh untuk mempelajari isinstance()
Contoh : isinstance() Pemeriksaan Integer
Kode di bawah membandingkan nilai integer 51 dengan tipe int. Ia akan mengembalikan true jika tipe 51 cocok dengan int, sebaliknya false.
age = isinstance(51,int) print("age adalah integer:", age) Output:
age adalah integer: True
Contoh : isinstance() Pemeriksaan Float
Dalam contoh ini kita akan membandingkan nilai float dengan tipe float yaitu nilai 3.14 akan dibandingkan dengan tipe float.
pi = isinstance(3.14,float) print("pi adalah float:", pi) Output:
pi adalah float: True
Contoh: isinstance() Pemeriksaan String
message = isinstance("Hello World",str) print("message adalah string:", message) Output:
message adalah string: True
Contoh : isinstance() Pemeriksaan Tuple
Kode memeriksa tuple (1,2,3,4,5) dengan tipe tuple. Ia akan mengembalikan true jika masukan diberikan bertipe tuple dan false jika tidak.
my_tuple = isinstance((1,2,3,4,5),tuple) print("my_tuple adalah tuple:", my_tuple) Output:
my_tuple adalah tuple: True
Contoh : isinstance() Pemeriksaan Set
Kode memeriksa set ({1,2,3,4,5},dengan tipe set. Ia akan mengembalikan true jika masukan diberikan bertipe set dan false jika tidak.
my_set = isinstance({1,2,3,4,5},set) print("my_set adalah set:", my_set) Output:
my_set adalah set: True
Contoh: isinstance() Pemeriksaan list
Kode memeriksa list [1,2,3,4,5],dengan tipe list. Ia akan mengembalikan true jika masukan diberikan bertipe list dan false jika tidak.
my_list = isinstance([1,2,3,4,5],list) print("my_list adalah list:", my_list) Output:
my_list adalah list: True
Contoh: isinstance() Pemeriksaan dict
Kode memeriksa dict({“A”:”a”, “B”:”b”, “C”:”c”, “D”:”d”},dengan tipe dict. Ia akan mengembalikan true jika masukan diberikan bertipe dict dan false jika tidak.
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict) print("my_dict adalah dict:", my_dict) Output:
my_dict adalah dict: True
Contoh: isinstance() uji pada kelas
Kode menunjukkan pemeriksaan tipe kelas dengan isinstance() . Objek kelas dibandingkan dengan nama kelas di dalam isinstance(). Ia mengembalikan true jika objek termasuk dalam kelas dan false sebaliknya.
class MyClass: _message = "Hello World" _class = MyClass() print("_class adalah instance dari MyClass() : ", isinstance(_class,MyClass)) Output:
_class adalah instance dari MyClass() True
Perbedaan Antara type() dan isinstance() dalam Python
| type() | isinstance() |
| Python memiliki fungsi bawaan bernama type() yang membantu Anda menemukan tipe kelas dari variabel yang diberikan sebagai masukan. | Python memiliki fungsi bawaan bernama isinstance() yang membandingkan nilai dengan tipe yang diberikan. Jika nilai dan tipe yang diberikan cocok, ia akan mengembalikan true, sebaliknya false. |
| Nilai kembalinya adalah objek tipe | Nilai kembalinya adalah Boolean yaitu true atau false. |
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(type(A()) == A) print(type(B()) == A) Output: True False Dalam hal type, pemeriksaan subclass menghasilkan false. | class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(isinstance(A(), A)) print(isinstance(B(), A)) Output: True True isinstance() memberikan nilai truthy saat diperiksa dengan subclass. |
Ringkasan:
- Python memiliki fungsi bawaan bernama type() yang membantu Anda menemukan tipe kelas dari variabel yang diberikan sebagai masukan. Misalnya, jika masukan adalah string, Anda akan mendapatkan output <class ‘str’>, untuk list, akan menjadi <class ‘list’>, dst.
- Untuk type(), Anda dapat melewatkan satu argumen, dan nilai kembalinya akan menjadi tipe kelas dari argumen yang diberikan, misalnya, type(object).
- Sedang mungkin juga untuk melewatkan tiga argumen ke type(), yaitu, type(name, bases, dict), dalam kasus tersebut, ia akan mengembalikan objek tipe baru.
- Python memiliki fungsi bawaan bernama instance() yang membandingkan nilai dengan tipe yang diberikan. Jika nilai dan tipe yang diberikan cocok, ia akan mengembalikan true, sebaliknya false. Menggunakan isinstance(), Anda dapat menguji string, float, int, list, tuple, dict, set, kelas, dll.
- Menggunakan metode isinstance(), Anda dapat menguji string, float, int, list, tuple, dict, set, kelas, dll.