Bagaimanakah saya boleh mendapatkan semula senarai semua kaedah yang ditakrifkan dalam kelas Python?

Mary-Kate Olsen
Lepaskan: 2024-10-27 19:11:01
asal
946 orang telah melayarinya

How can I retrieve a list of all methods defined in a Python class?

Mendapatkan Kaedah Kelas dalam Python

Kelas Python menyediakan pelbagai kaedah untuk mengakses kefungsian mereka. Untuk mendapatkan senarai semua kaedah yang ditakrifkan dalam kelas, anda boleh menggunakan fungsi inspect.getmembers().

Penggunaan:

<code class="python">from inspect import getmembers

# Get class methods
class_methods = getmembers(class_object, predicate=inspect.ismethod)</code>
Salin selepas log masuk

Parameter:

  • class_object: Kelas yang anda ingin dapatkan semula kaedahnya.
  • predikat : Fungsi penapis yang menunjukkan ahli mana yang perlu disertakan. Hanya kaedah disertakan secara lalai.

Nilai Pulangan:

  • Senarai tupel, di mana setiap tupel mewakili ahli kelas. Elemen pertama ialah nama ahli, dan elemen kedua ialah nilai ahli (biasanya kaedah tidak terikat).

Contoh:

Untuk menyenaraikan kaedah ditakrifkan dalam kelas optparse.OptionParser, gunakan kod berikut:

<code class="python">from optparse import OptionParser
import inspect

class_methods = inspect.getmembers(OptionParser, predicate=inspect.ismethod)

print(class_methods)</code>
Salin selepas log masuk

Output:

[(('__init__', <unbound method OptionParser.__init__>),
  ('add_option', <unbound method OptionParser.add_option>),
  ...)]
Salin selepas log masuk

Nota:

  • getmembers() juga boleh digunakan untuk mendapatkan semula atribut dan ahli kelas yang lain.
  • Melalukan instance kelas kepada getmembers() dan bukannya kelas itu sendiri membolehkan anda mengakses kaedah kelas dan atribut terikat pada kejadian tertentu.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan semula senarai semua kaedah yang ditakrifkan dalam kelas Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!