Inspecter le module :
Le module d'inspection fournit plusieurs fonctions utiles pour aider à obtenir les informations suivantes informations sur les objets vivants tels que les modules, les classes, les méthodes, les fonctions, les tracebacks, les objets de type frame et les objets de type code.
Utilisation getmembers()
vous pouvez voir tous les attributs de votre classe, ainsi que leur valeur. Pour exclure les attributs privés ou protégés, utilisez .startswith('_')
. Pour exclure des méthodes ou des fonctions, utilisez inspect.ismethod()
o inspect.isfunction()
.
import inspect
class NewClass(object):
def __init__(self, number):
self.multi = int(number) * 2
self.str = str(number)
def func_1(self):
pass
inst = NewClass(2)
for i in inspect.getmembers(inst):
# Ignores anything starting with underscore
# (that is, private and protected attributes)
if not i[0].startswith('_'):
# Ignores methods
if not inspect.ismethod(i[1]):
print(i)
Il convient de noter que ismethod()
est utilisé sur le deuxième élément de i
puisque le premier est simplement une chaîne de caractères (son nom).
Hors sujet : Utilisation <a href="https://www.python.org/dev/peps/pep-0008/#class-names" rel="nofollow noreferrer">CamelCase </a>pour les noms de classe.
93 votes
Pratiquement tous les utilisateurs de Python nomment leurs classes de la manière suivante
NewClass
. Vous pouvez défier les attentes des gens en utilisant une convention de dénomination telle quenew_class
.1 votes
Même s'il est interactif et ne peut pas être utilisé par des programmes,
help()
des aides fonctionnelles pour obtenir des informations sur les classes, les fonctions, les composants, les modules, etc.2 votes
Pertinent : stackoverflow.com/questions/1398022/