Python periksa apakah atribut objek ada

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

Bagaimana cara memeriksa apakah atribut ada di objek Python?

Kita dapat menggunakan fungsi hasattr() untuk mengetahui apakah objek python obj memiliki atribut atau properti tertentu. hasattr(obj, 'atribut'). Konvensi dalam python adalah, jika properti kemungkinan ada di sana, panggil saja dan tangkap dengan blok coba/kecuali.

Bagaimana Anda menampilkan atribut objek dengan Python?

Atribut kelas juga dapat diakses menggunakan metode dan fungsi bawaan berikut. .
getattr() – Fungsi ini digunakan untuk mengakses atribut objek
hasattr() – Fungsi ini digunakan untuk memeriksa apakah atribut ada atau tidak
setattr() – Fungsi ini digunakan untuk mengatur atribut

Bagaimana Anda memeriksa apakah suatu objek memiliki kunci di Python?

Cara memeriksa apakah kunci ada di kamus Python .
has_key. Metode has_key mengembalikan true jika kunci yang diberikan tersedia di kamus; . Sintaksis. .
jika - dalam pernyataan. Pendekatan ini menggunakan pernyataan if - in untuk memeriksa apakah ada atau tidak kunci yang diberikan dalam kamus. Sintaksis

Bagaimana Anda memeriksa atribut kelas dengan Python?

Menggunakan Fungsi dir() bawaan .

Postingan terbaru

LIHAT SEMUA