In Python werden normalerweise Funktionen wie str (), int (), float () usw. verwendet, um Typkonvertierungen durchzuführen. Diese erfordern jedoch, dass Sie zur Entwicklungszeit wissen, in welchen Typ Sie konvertieren möchten. Ein Teilproblem von etwas Python-Code, den ich versuche zu schreiben, ist wie folgt:
Geben Sie für die beiden Variablen foo
und bar
den Typ foo
an. (Es ist zur Entwicklungszeit nicht bekannt, da dies generischer Code ist.) Versuchen Sie dann, bar
in den Typ foo
zu konvertieren. Wenn dies nicht möglich ist, werfen Sie eine Ausnahme aus.
Nehmen wir zum Beispiel an, dass Sie die Funktion aufrufen, die dies tut conv
. Seine Unterschrift würde aussehen wie
Es würde ungefähr so heißen:
%Vor% ist definitiv das beste, wenn Sie einen Typ prüfen möchten, dann ist "Typ" die beste Methode, und ich bin auf python 2.7 - 3.2.2, type()
funktioniert perfekt.
Tags und Links python reflection type-conversion introspection python-datamodel