Introduction à la façon dont Python utilise la fonction dir pour afficher tous les membres d'une classe

巴扎黑
Libérer: 2017-09-09 10:22:21
original
3400 Les gens l'ont consulté

Cet article vous présente principalement les informations pertinentes sur la façon dont python utilise la fonction dir pour afficher toutes les fonctions membres d'une classe. L'article le présente en détail à travers un exemple de code. Il a une certaine valeur d'apprentissage de référence que tout le monde peut apprendre ou utiliser. python. Vous avez besoin d'amis, veuillez suivre l'éditeur pour apprendre ensemble.

Préface

Si une classe est écrite par quelqu'un d'autre et qu'il n'y a pas de document d'aide, comment afficher toutes les fonctions membres ? Cet article vous présente en détail l'utilisation de la fonction dir en python pour afficher toutes les fonctions membres d'une classe. Je n'entrerai pas dans plus de détails ci-dessous, jetons un œil à l'introduction détaillée.

Vous pouvez utiliser le code suivant :


# File: builtin-dir-example-2.py 
 
class A: 
 def a(self): 
  pass 
 def b(self): 
  pass 
 
class B(A): 
 def c(self): 
  pass 
 def d(self): 
  pass 
 
def getmembers(klass, members=None): 
 # get a list of all class members, ordered by class 
 if members is None: 
  members = [] 
 for k in klass.__bases__: 
  getmembers(k, members) 
 for m in dir(klass): 
  if m not in members: 
   members.append(m) 
 return members 
 
print('A=> :', getmembers(A)) 
print() 
print('B=> :', getmembers(B)) 
print() 
print('IOError=> :', getmembers(IOError))
Copier après la connexion

La sortie est la suivante suit :


>>> 
==== RESTART: D:/work/csdn/python_Game1/example/builtin-dir-example-2.py ====
A=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b']


B=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b', 'c', 'd']


IOError=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__cause__', '__context__', '__dict__', '__setstate__', '__suppress_context__', '__traceback__', 'args', 'with_traceback', 'characters_written', 'errno', 'filename', 'filename2', 'strerror', 'winerror']
>>>
Copier après la connexion

Dans cet exemple, affichez les fonctions membres de la classe de base A et affichez les fonctions membres de la classe dérivée B.

Fonction intégrée Dir() fonction

Il existe de nombreuses méthodes intégrées en python, et les programmeurs Python débutants et expérimentés ne peuvent pas rappelez-vous-en tous. Il existe des méthodes, et la fonction dir() est très utile en ce moment. Vous pouvez utiliser la fonction dir() pour afficher tous les attributs et méthodes de l'objet. En python, tout est un objet, un type de données, un module, etc., chacun a ses propres attributs et méthodes en plus des méthodes communes. , vous pouvez. Vous n'avez pas besoin de vous souvenir de tout, laissez simplement le soin à la fonction dir().

Comment utiliser la fonction dir()

La méthode de fonctionnement de la fonction dir() est très simple, il suffit de mettre la requête vous voulez et L'objet peut être utilisé en l'ajoutant aux crochets ( ).

Par exemple, si vous souhaitez visualiser les méthodes d'une liste, vous pouvez directement passer un objet de liste vide [ ] ou un nom de variable d'un type de données de liste entre ( ), comme suit :


>>>dir([ ])
Copier après la connexion

ou


x = ['a','b']
>>>dir(x)
Copier après la connexion


Les résultats obtenus par les deux méthodes de fonctionnement sont les mêmes, les deux consistant à vérifier les méthodes de fonctionnement et les attributs de la liste. Si vous souhaitez vérifier une chaîne, mettez simplement le nom de la variable paramètre entre () ou la chaîne vide ' '.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal