[PYTHON] Holen Sie sich nur Unterklassenelemente in eine Liste

class Base(object):

	def getAttributeKeys(self):
		"""Definiert in einer Klasse, die Base erbt
Element(Methoden und Eigenschaften)Ich möchte nur den Schlüssel von bekommen
		"""


class Child(Base):

	def __init__(self):
		self.hoge = "hoge"
	
	def fuga(self):
		pass

In diesem geeigneten Beispiel

ch = Child()
print(ch.getAttributeKeys())   # >>> ['hoge', 'fuga']

Wenn du so sein willst.

Mit set subtrahieren

http://stackoverflow.com/questions/7136154/python-how-to-get-subclasss-new-attributes-name-in-base-classs-method Ich denke, es gibt verschiedene Möglichkeiten, aber ich frage mich, ob dieser Weg persönlich schön ist.

Set-Operationen sind in Python einfach zu verwenden. Verwenden Sie diese Option Unterklassenelementliste minus übergeordnete Klassenelementliste Sie können eine Liste solcher Kinderklassen erhalten.

class Base(object):

	def getAttributeKeys(self):
		return set(dir(self.__class__)) - set(dir(Base))

(* Das Ergebnis wird anstelle der Liste festgelegt.)

Dies und das

ch = Child()
keys = getAttributeKeys()


#Versuchen Sie, den Wert des Attributs zu erhalten
key = keys[0] #Angenommen, Sie wählen aus den Schlüsseln
attr = ch.getattr(self, key)


#Bestimmen Sie, ob es sich um eine Methode handelt, und führen Sie sie aus
import types
if isinstance(attr, types.MethodType):
	#Da attr eine Methode ist, kann sie ausgeführt werden
	attr()

Bitte verwenden Sie es, wenn Sie automatisch importieren möchten, was in der Unterklasse definiert ist.

Recommended Posts

Holen Sie sich nur Unterklassenelemente in eine Liste
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Erstellen Sie eine neue Liste, indem Sie doppelte Elemente in der Liste kombinieren
Ruft die EDINET-Codeliste in Python ab
[Python] Nur eine Liste der Ordner abrufen
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Sortieren Sie Listenelemente in Python in der angegebenen Reihenfolge
[Python] Manipulation von Elementen in einer Liste (Array) [Sortieren]
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Abrufen des Dateinamens in einem Ordner mithilfe von glob
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
In der Liste verfügbare Methoden
Abrufen von Listenelementen in Python
[Python] Lassen Sie nur Elemente im Array, die mit einer bestimmten Zeichenfolge beginnen
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Stellen Sie sicher, dass alle Elemente in der Liste in Python identisch sind
In Python werden die Elemente in der Liste sortiert und als Elemente und Vielfache ausgegeben.
Entwickelte eine Bibliothek, um die Kindle-Sammlungsliste in Python abzurufen
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 Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Ich bekomme einen UnicodeDecodeError mit mecab-python3
[Python] Verwalten Sie Funktionen in einer Liste
Ich erhalte einen KeyError in pyclustering.xmeans
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
Löschen Sie mehrere Elemente in der Python-Liste
Beim Erstellen einer Matrix in einer Liste
Holen Sie sich die Abfragezeichenfolge (Abfragezeichenfolge) mit Django
Holen Sie sich Boolean mit Flask-Anfrage
Geben Sie die in S3 Bucket enthaltene Schlüsselliste in eine Datei aus
So vergleichen Sie Listen und rufen allgemeine Elemente in einer Liste ab
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
So erhalten Sie alle möglichen Werte in einem regulären Ausdruck
[Python] Zeigt nur die Elemente der Liste nebeneinander an [Vertikal, horizontal]
[Python] Ermittelt den Rang der Werte in der Liste in aufsteigender / absteigender Reihenfolge
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
Stellen Sie fest, ob alle Listenelemente im Diktatschlüssel vorhanden sind
Wie erhalte ich eine Liste ohne Elemente, deren Index i ... ist?
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Holen Sie sich die IP-Adresse des Kunden mit Django
Memorandum (Namen nur Personen mit demselben Nachnamen in der Liste hinzufügen)
Python VBA, um mit Selenium die gesamte WEB-Seite zu erfassen
Holen Sie sich die besten n-ten Werte in Pandas
Fügen Sie aufeinanderfolgende Werte in der Liste zusammen
Zeigen Sie eine Liste der Alphabete in Python 3 an
Rufen Sie mit Python eine Liste der in der aktuellen Umgebung installierten Pakete ab
Ruft die längste Zeichenlänge ab, die in einem Intervall in einem Segmentbaum enthalten ist