Maison >développement back-end >Tutoriel Python >Comment récupérer une liste de toutes les méthodes définies dans une classe Python ?

Comment récupérer une liste de toutes les méthodes définies dans une classe Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 19:11:011058parcourir

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

Obtention de méthodes de classe en Python

Les classes Python fournissent diverses méthodes pour accéder à leurs fonctionnalités. Pour obtenir une liste de toutes les méthodes définies dans une classe, vous pouvez utiliser la fonction inspect.getmembers().

Utilisation :

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

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

Paramètres :

  • class_object : La classe pour laquelle vous souhaitez récupérer des méthodes.
  • prédicat : Une fonction de filtre qui indique les membres à inclure. Seules les méthodes sont incluses par défaut.

Valeur de retour :

  • Une liste de tuples, où chaque tuple représente un membre de la classe. Le premier élément est le nom du membre et le deuxième élément est la valeur du membre (généralement une méthode indépendante).

Exemple :

Pour lister les méthodes défini dans la classe optparse.OptionParser, utilisez le code suivant :

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

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

print(class_methods)</code>

Sortie :

[(('__init__', <unbound method OptionParser.__init__>),
  ('add_option', <unbound method OptionParser.add_option>),
  ...)]

Remarque :

  • getmembers() peut également être utilisé pour récupérer des attributs et d'autres membres de la classe.
  • Passer une instance d'une classe à getmembers() au lieu de la classe elle-même vous permet d'accéder aux méthodes de la classe et attributs liés à l'instance spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn