Setiap kelas memiliki metode dan properti yang bisa disebut atribut. Sebuah objek dapat mengambil atribut dari sebuah kelas, dan setiap objek juga dapat memiliki atributnya. Mengetahui atribut apa yang dimiliki suatu objek, itu perlu
Memeriksa atribut dalam suatu objek secara manual dalam potongan kode yang besar tidak dimungkinkan. Artikel ini akan menunjukkan berbagai cara untuk memeriksa atribut suatu objek
Periksa Atribut Menggunakan Metode class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1 dengan Python
Fungsi class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1 memeriksa objek apakah objek tersebut memiliki atribut tertentu atau tidak. Jika fungsi menemukan atribut, ia mengembalikan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 3;
Sintaksis
hasattr(object_name, attribute_name) _
Ada dua parameter untuk fungsi ini - nama class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 5 dan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 6, yang ingin kita periksa. Fungsi memberikan output sebagai Boolean class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 3 atau class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 4 tergantung pada apakah ia menemukan atribut atau tidak
Katakanlah kita memiliki kelas yang disebut class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) _9. Kami mendefinisikan tiga atribut di dalam kelas ini - class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 0, class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 1, dan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 2. Kemudian, kita membuat class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) _3 sebagai objek kelas ini
Sekarang, untuk memeriksa apakah objek ini memiliki atribut class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 0, kami menggunakan metode class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1. Berikan nama kelas dan atribut ini sebagai argumen dalam fungsi ini
class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake'))
Keluaran
Karena class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 0 atribut milik objek, class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 3, kita mendapatkan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 8 sebagai output
Sekarang lihat apa yang akan terjadi jika kita memberikan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 9 sebagai nama atribut
class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity'))
Keluaran
Karena atribut class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 9 tidak ada, kita mendapatkan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() if hasattr(Cake, 'quantity'): print(Cake.quantity) else: print("Whoops, no such attribute exists!") 1 sebagai output
Gunakan Fungsi class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1 Dengan Blok class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() if hasattr(Cake, 'quantity'): print(Cake.quantity) else: print("Whoops, no such attribute exists!") 3 dengan Python
Satu lagi cara untuk memanfaatkan fungsi class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) _1 adalah dengan menggunakannya dengan blok class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() if hasattr(Cake, 'quantity'): print(Cake.quantity) else: print("Whoops, no such attribute exists!") 5. Fungsi class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1 mengembalikan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 3 saat atribut ada
Jadi, blok class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() if hasattr(Cake, 'quantity'): print(Cake.quantity) else: print("Whoops, no such attribute exists!") 8 mengeksekusi dan mencetak nilai atribut. Tetapi jika atribut tidak ada, maka nilai yang dikembalikan adalah class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 4, dan blok Whoops, no such attribute exists! 0 dijalankan
class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() if hasattr(Cake, 'quantity'): print(Cake.quantity) else: print("Whoops, no such attribute exists!")
Keluaran
Whoops, no such attribute exists!
Kami mencari atribut di dalam blok ________23______8. Karena atribut tidak ada, fungsi mengembalikan class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 4 dan memasuki blok Whoops, no such attribute exists! 0. Di dalam blok Whoops, no such attribute exists! _0, kita menentukan pernyataan print sederhana yang dicetak sebagai output
Periksa Atribut Menggunakan Fungsi Whoops, no such attribute exists! 5 dengan Python
Fungsi Whoops, no such attribute exists! 5 mengembalikan nilai default saat atribut tidak ada. Fungsi Whoops, no such attribute exists! 5 berfungsi seperti yang sebelumnya
Sintaksis
getattr(object_name, attribute_name, default_value)
Fungsi Whoops, no such attribute exists! _5 membutuhkan tiga argumen - objek, atribut, dan nilai default untuk kasus ketika atribut tidak ada
Misalnya, kita harus menemukan atribut class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) _9 untuk objek class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) 3. Tanpa menentukan argumen default, mari gunakan fungsi Whoops, no such attribute exists! 5
class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(getattr(Cake, 'quantity'))
Keluaran
AttributeError: type object 'Cake' has no attribute 'quantity'
Fungsi Whoops, no such attribute exists! _5 melempar pengecualian di sini
Sekarang, mari kita tentukan argumen default yang harus dicetak saat atribut tidak ada. Argumen default ini bisa berupa pesan sederhana
class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(getattr(Cake, 'quantity', 'Attribute not found'))
Keluaran
Kami mendapatkan pesan dari argumen default alih-alih pengecualian atau kesalahan apa pun
Gunakan getattr(object_name, attribute_name, default_value) 3 Fungsi Dengan getattr(object_name, attribute_name, default_value) 4 Blokir
Ada cara lain untuk menggunakan fungsi Whoops, no such attribute exists! 5. Menggunakan blok getattr(object_name, attribute_name, default_value) 6 untuk memeriksa keberadaan atribut. Idenya adalah untuk memasukkan fungsi Whoops, no such attribute exists! _5 di dalam blok getattr(object_name, attribute_name, default_value) 8
Jika atributnya ada, kami akan mencetak nilainya. Jika tidak, getattr(object_name, attribute_name, default_value) _9 akan dilempar. Kami dapat menangani pengecualian ini di blok class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(getattr(Cake, 'quantity')) _0 dan mencetak pesan kesalahan menggunakan pernyataan cetak
Kami mencari atribut class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'quantity')) _9 di dalam blok getattr(object_name, attribute_name, default_value) 8 dalam contoh ini. Kami tidak menentukan argumen default di dalam fungsi Whoops, no such attribute exists! 5
Itu karena kami menangani kesalahan di dalam blok class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(getattr(Cake, 'quantity')) 4
class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() try: print(getattr(Cake, 'quantity')) except AttributeError: print("Whoops, this attribute is not present!")
Keluaran
class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 0
Kita tidak dapat menggunakan fungsi class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1 dengan blok getattr(object_name, attribute_name, default_value) 6 seperti fungsi Whoops, no such attribute exists! 5. Ini karena fungsi class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) _1 mengembalikan nilai Boolean dan bukan pengecualian
untuk meringkas
Kami membahas menemukan jika atribut hadir dalam objek dengan Python. Kami menggunakan dua fungsi - class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1 dan Whoops, no such attribute exists! 5 untuk mencapai ini
Kami belajar menggabungkan fungsi class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() print(hasattr(Cake, 'best_cake')) 1 dengan blok class Cake: best_cake = "Choco Lava" best_flavor = "Vanilla" cost = 2500 cake_object = Cake() if hasattr(Cake, 'quantity'): print(Cake.quantity) else: print("Whoops, no such attribute exists!") 5 dan fungsi Whoops, no such attribute exists! 5 dengan blok AttributeError: type object 'Cake' has no attribute 'quantity' 4