Skip to content Deskripsi Fungsi getattr() berfungsi untuk mendapatkan nilai dari attribut suatu objek. Sintaks Fungsi Parameter Fungsi Nilai Kembalian Fungsi getattr() mengembalikan: Contoh Output Output dari program di atas adalah seperti berikut: Estimasi Waktu Baca: < 1 menit Deskripsi FungsiFungsi getattr() digunakan untuk mendapatkan nilai dari atribut suatu objek. Jika tidak ditemukan, akan mengembalikan nilai default yang diberikan ke fungsi tersebut. Sintaks dan ParameterSintaks dari fungsi getattr() adalah sebagai berikut:
Fungsi getattr() menerima tiga parameter yaitu
Nila kembalian fungsi getattr() berupa:
Contoh Penerapan
Keluaran:
Saya membaca tentang fungsi Saya tidak mengerti ketika buku itu menyebutkan bagaimana Anda menggunakannya untuk mendapatkan referensi ke suatu fungsi tanpa mengetahui namanya sampai waktu berjalan. Mungkin ini adalah saya menjadi noob dalam pemrograman, secara umum. Adakah yang bisa menjelaskan masalah ini? Kapan dan bagaimana tepatnya saya menggunakan ini? Anda dapat melihat contoh lengkapnya di sini:
Introspeksi dapat digunakan untuk tujuan yang berbeda, yang disajikan dalam 'Dive Into Python' hanyalah cara untuk menambahkan fungsionalitas (plug-in) secara dinamis di aplikasi Anda. Maksud secara dinamis maksud saya tanpa melakukan modifikasi pada aplikasi inti untuk menambahkan fitur baru. Contoh 'Dive Into Python' - aplikasi sederhana untuk mengekstrak atribut dari file file yang berbeda - Anda dapat menambahkan penanganan format file baru tanpa melakukan modifikasi pada aplikasi asli. Saya sarankan Anda menyelesaikan buku. Saat Anda membaca, semuanya akan menjadi semakin jelas. Objek dalam Python dapat memiliki atribut - atribut data dan fungsi untuk bekerja dengan mereka (metode). Sebenarnya, setiap objek memiliki atribut bawaan. Misalnya Anda memiliki objek Anda mengakses atribut-atribut ini (baik itu metode atau objek data) biasanya menulis: Tetapi bagaimana jika Anda tidak tahu nama atribut pada saat Anda menulis program? Misalnya Anda memiliki nama atribut yang disimpan dalam variabel yang disebut jika
lalu, alih-alih menulis
kamu bisa menulis
Beberapa latihan:
Tapi Anda bisa memberikan nilai default sebagai argumen ketiga, yang akan dikembalikan jika atribut seperti itu tidak ada:
Anda dapat menggunakan
Penggunaan praktis untuk ini adalah menemukan semua metode
yang namanya dimulai dengan Mirip dengan
Bagi saya, getattr paling mudah untuk dijelaskan dengan cara ini: Ini memungkinkan Anda untuk memanggil metode berdasarkan isi string daripada mengetikkan nama metode. Misalnya, Anda tidak dapat melakukan ini:
karena x bukan dari tipe "builtin", tetapi "str". Namun, Anda BISA melakukan ini:
Ini memungkinkan Anda untuk terhubung secara dinamis dengan objek berdasarkan input Anda. Saya merasa berguna ketika berhadapan dengan objek dan modul khusus. Kasus penggunaan yang cukup umum untuk Misalnya, dalam kerangka kerja web seperti Django atau Pylons,
ke dalam "pelanggan" dan "daftar". Kemudian ia mencari kelas controller bernama Setelah Anda memahami gagasan ini, menjadi sangat mudah untuk memperluas fungsionalitas aplikasi web: cukup tambahkan metode baru ke kelas controller, dan
kemudian buat tautan di halaman Anda yang menggunakan URL yang sesuai untuk metode tersebut. Semua ini dimungkinkan oleh Berikut adalah contoh cepat dan kotor tentang bagaimana suatu kelas dapat mem-boot versi berbeda dari metode penyimpanan tergantung pada sistem operasi mana yang sedang dieksekusi menggunakan
Sekarang mari kita gunakan kelas ini dalam contoh:
Selain semua jawaban yang luar biasa di sini, ada cara untuk menggunakan Skenario Misalkan struktur direktori Anda adalah sebagai berikut:
Dan, Anda memiliki fungsi untuk mendapatkan informasi tentang
Sekarang, katakanlah Anda ingin mengembalikan kemampuan masing-masing sesuai permintaan di
... dan lebih banyak fungsi mengembalikan nilai yang berbeda berdasarkan tombol dan pahlawan super. Dengan bantuan
Anda sangat mengurangi jumlah baris kode, fungsi, dan pengulangan! Oh dan tentu saja, jika Anda memiliki nama buruk seperti
CATATAN: Untuk masalah khusus ini, mungkin ada cara yang lebih cerdas untuk menangani situasi, tetapi idenya adalah untuk memberikan wawasan tentang penggunaan Saya kadang-kadang menggunakan Bandingkan yang berikut ini:
Untuk ini:
Keuntungan dari cara kedua adalah bahwa Cukup sering ketika saya membuat file XML dari data yang disimpan di kelas saya akan sering menerima kesalahan jika atribut tidak
ada atau bertipe
Jika saya menggunakan
Jika nilai atribut bertipe
Saya menggunakan metode berikut untuk menangani kasus-kasus ini sekarang:
Inilah saatnya dan bagaimana saya menggunakan
Ada dua kasus di mana
Penggunaan lain dari getattr () dalam mengimplementasikan pernyataan switch dengan Python. Ini menggunakan kedua refleksi untuk mendapatkan jenis case.
Ini juga mengklarifikasi dari https://www.programiz.com/python-programming/methods/built-in/getattr
Usia adalah: 23 Usia adalah: 23
Jenis kelaminnya adalah: Pria AttributeError: Objek 'Orang' tidak memiliki atribut 'seks' |