[python] Récupère la liste des classes définies dans le module

inspect.getmembers(object[, typecheck])

Premier de la conclusion

foo.py


class foo1:
    '''something code'''

class foo2:
    '''something code'''

class foo3:
    '''something code'''

get_class


import foo 
import inspect

classes = map(lambda x:x[0],inspect.getmembers(foo,inspect.isclass))

print classes
# => ['foo1','foo2','foo3']

ʻInspect.getmembers (object) obtient tous les membres de l'objet enregistrés dans ʻobject. Le format est [(membre1, type), (membre2, type), ....]. ʻInspect.is - détermine si l'objet correspond à --` Il semble qu'il y ait 16 classes, modules, fonctions, méthode ..... Pour plus d'informations, cliquez ici (http://docs.python.jp/2/library/inspect.html "inspect").

Par conséquent, ʻinspect.getmembers (foo, inspect.isclass) `aurait dû être comme ça.

get_class


print inspect.getmembers(foo,inspect.isclass)
# => [('foo1',<class foo.foo1 at 0x*******>),('foo1',<class foo.foo2 at 0x*******>),('foo3',<class foo.foo3 at 0x*******>)]

Après cela, il vous suffit d'extraire le 0e élément de chaque élément. map(lambda x:x[0], list) C'est tout.

Puisque le premier élément est la classe elle-même, l'objet de classe lui-même peut également être obtenu. Par exemple, supposons que vous recherchez une clé pour une partie du nom de classe pour obtenir un objet de classe correspondant.

getclass


import foo 
import inspect

classes = inspect.getmembers(foo,inspect.isclass)

for i in classes:
    if '2' in i[0]:
        something2 = i[1]

something2class = something2()
print something2class.__class__.__name__
# => foo2

Cependant, dans ce cas, vous obtiendrez probablement une erreur si vous ne la trouvez pas.

Recommended Posts

[python] Récupère la liste des classes définies dans le module
Obtenez le nombre d'éléments spécifiques dans la liste python
Obtenir la liste de codes EDINET en Python
[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Récupérer l'appelant d'une fonction en Python
Copiez la liste en Python
Comment obtenir le nombre de chiffres en Python
Obtenir la taille (nombre d'éléments) de Union Find en Python
[Python] Obtenir la liste des noms ExifTags de la bibliothèque Pillow
[Python] Affiche toutes les combinaisons d'éléments de la liste
Obtenez l'URL de la destination de la redirection HTTP en Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
Obtenez le chemin du bureau en Python
Obtenez le chemin du script en Python
Obtenez le chemin du bureau en Python
Obtenez le nom d'hôte en Python
À propos de la liste de base des bases de Python
Maîtriser le module lowref en Python
Essayez d'obtenir la liste des fonctions du paquet Python> os
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Obtenez le nombre d'occurrences pour chaque élément de la liste
Obtenez l'index de chaque élément de la matrice de confusion en Python
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
2015-11-26 python> Afficher la liste des fonctions du module> import math> dir (math)
Vérifiez le comportement du destroyer en Python
Essayez d'obtenir la liste des fils du bulletin d'information (je n'aime pas) avec Python.
Passez le chemin du module python importé
Afficher une liste d'alphabets en Python 3
Comparaison des modules de conversion japonais en Python3
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Prenez la somme logique de List en Python (fonction zip)
Le résultat de l'installation de python sur Anaconda
Vérifiez le chemin du module importé Python
[python] Obtenir une liste de variables d'instance
Principes de base pour exécuter NoxPlayer en Python
Résumé des méthodes intégrées, etc. de la liste Python
À la recherche du FizzBuzz le plus rapide en Python
[Python] Récupère le code de caractère du fichier
[Python] Obtenir une liste de dossiers uniquement
Installez le module Python dans n'importe quel répertoire
Débarrassez-vous des images DICOM en Python
Obtenez une liste de fichiers dans un dossier avec python sans chemin
Obtenez le titre et la date de livraison de Yahoo! News en Python
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Python VBA pour obtenir une capture de la page WEB entière avec Selenium
Si vous voulez un singleton en python, considérez le module comme un singleton
Obtenez une liste des packages installés dans l'environnement actuel avec python
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
Recevez une liste des résultats du traitement parallèle en Python avec starmap
Obtenez une instance datetime à tout moment de la journée en Python
Obtenez la clé pour la migration de la deuxième couche de données JSON avec python
Récupérer le contenu de git diff depuis python
Sortie du nombre de cœurs de processeur en Python
[python] Vérifier les éléments de la liste tous, tous
[Python] Récupérez les fichiers dans le dossier avec Python
Obtenez la météo à Osaka via l'API Web (python)
[Python] Obtenir / modifier l'étiquette d'échelle de la figure