Reflexion in Python

Um Reflection in Python zu verwenden, sollten Sie sich die folgenden integrierten Funktionen merken.

#Gibt zurück, ob das Objekt ein Namensattribut hat
hasattr(object, name)

#Gibt das Namensattribut im Objekt zurück. Standard kann den zurückzugebenden Wert angeben, wenn kein Namensattribut vorhanden ist
getattr(object, name[, default])

#Gibt True zurück, wenn das Objekt aufrufbar ist. Wenn True, Objekt()Kann mit ausgeführt werden.
callable(object)

#Es wird versucht, eine Liste gültiger Attribute vom Objekt zurückzugeben
dir([object])

Die Verwendung ist wie folgt. Wenn Sie beispielsweise entweder den Wert eines Attributs abrufen und zurückgeben oder eine Methode ausführen und zurückgeben möchten.

if hasattr(object, name):
    attr = getattr(object, name)
    if callable(attr):
        return attr()
    else:
        return attr

Recommended Posts

Reflexion in Python
Reflexion in Python
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
Schritt AIC in Python
CSV in Python
Reverse Assembler mit Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Täglicher AtCoder # 36 mit Python
Clustertext in Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Bearbeiten Sie Schriftarten in Python
Singleton-Muster in Python
Dateioperationen in Python
Lesen Sie DXF mit Python
Täglicher AtCoder # 53 in Python
Tastenanschlag in Python
Verwenden Sie config.ini mit Python
Löse ABC168D in Python
Täglicher AtCoder # 7 in Python
LU-Zerlegung in Python
Ein Liner in Python
Einfacher gRPC in Python
AtCoder # 24 jeden Tag mit Python
Löse ABC167-D mit Python
Täglicher AtCoder # 37 in Python
Fallklasse in Python