[Python] Ruft die Liste der im Modul definierten Klassen ab

inspect.getmembers(object[, typecheck])

Zunächst aus der Schlussfolgerung

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) ruft alle Mitglieder des Objekts ab, die in object registriert sind. Das Format ist [(Mitglied1, Typ), (Mitglied2, Typ), ....]. inspect.is - bestimmt, ob das Objekt mit -- übereinstimmt Es scheint, dass es 16 Klassen, Module, Funktionen, Methoden gibt ..... Weitere Informationen finden Sie hier (http://docs.python.jp/2/library/inspect.html "inspect").

Daher sollte "inspect.getmembers (foo, inspect.isclass)" so gewesen sein.

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*******>)]

Danach müssen Sie nur noch das 0. Element jedes Elements extrahieren. map(lambda x:x[0], list) Das ist es.

Da das erste Element die Klasse selbst ist, kann auch das Klassenobjekt selbst erhalten werden. Angenommen, Sie suchen nach einem Teil des Klassennamens, um ein passendes Klassenobjekt zu erhalten.

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

In diesem Fall wird jedoch wahrscheinlich ein Fehler angezeigt, wenn Sie ihn nicht finden.

Recommended Posts

[Python] Ruft die Liste der im Modul definierten Klassen ab
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Ruft die EDINET-Codeliste in Python ab
[Python] Ermittelt den Rang der Werte in der Liste in aufsteigender / absteigender Reihenfolge
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
So ermitteln Sie die Anzahl der Stellen in Python
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
[Python] Ruft die Liste der ExifTags-Namen der Pillow-Bibliothek ab
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Skriptpfad in Python
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Hostnamen in Python
Informationen zur Grundlagenliste der Python-Grundlagen
Beherrsche das schwache Ref-Modul in Python
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Ruft den Index des n-ten größten / kleinsten Werts in der Liste in Python ab
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Ruft den Index jedes Elements der Verwirrungsmatrix in Python ab
Ruft den Index des n-ten größten / kleinsten Werts in der Liste in Python ab
26.11.2015 Python> Funktionsliste des Moduls anzeigen> Mathematik importieren> Verzeichnis (Mathematik)
Überprüfen Sie das Verhalten des Zerstörers in Python
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
Übergeben Sie den Pfad des importierten Python-Moduls
Zeigen Sie eine Liste der Alphabete in Python 3 an
Vergleich japanischer Konvertierungsmodule in Python3
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
Das Ergebnis der Installation von Python auf Anaconda
Überprüfen Sie den Pfad des importierten Python-Moduls
[Python] Ruft eine Liste der Instanzvariablen ab
Grundlagen zum Ausführen von NoxPlayer in Python
Zusammenfassung der integrierten Methoden usw. der Python-Liste
Auf der Suche nach dem schnellsten FizzBuzz in Python
[Python] Ruft den Zeichencode der Datei ab
[Python] Nur eine Liste der Ordner abrufen
Installieren Sie das Python-Modul in einem beliebigen Verzeichnis
Entfernen Sie DICOM-Bilder in Python
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
Holen Sie sich den Titel und das Lieferdatum von Yahoo! News in Python
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Python VBA, um mit Selenium die gesamte WEB-Seite zu erfassen
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
Rufen Sie mit Python eine Liste der in der aktuellen Umgebung installierten Pakete ab
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Holen Sie sich zu jeder Tageszeit eine Datums- / Uhrzeitinstanz in Python
Holen Sie sich den Schlüssel für die Migration von JSON-Daten auf der zweiten Ebene mit Python
Holen Sie sich den Inhalt von Git Diff aus Python
Geben Sie die Anzahl der CPU-Kerne in Python aus
[Python] Checklistenelemente alle, alle
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich das Wetter in Osaka über Web-API (Python)
[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie