Sagen wir, ich möchte eine Funktion, die eine Lambda-Funktion (Callable) als Parameter, wo die Lambda-Funktion nimmt einen Vektor als Eingabe (definiert als numpy Array oder numpy Matrix) und gibt eine neue Vektor. Wie deklariere ich die Typ-Signatur für Callable mit numpigen Typen?Wie benutze ich numpy in optionalen Typisierung
Mein erster Versuch sieht ungefähr so aus:
def some_func(calc_new_vector: Callable[[np.array], np.array], ...other-params...) -> SomeType:
...do stuff...
...return...
Dies ist jedoch zu einem Fehler führt, wenn der Interpreter ausgeführt wird:
TypeError: Callable[[arg, ...], result]: each arg must be a type. Got <built-in function array>.
Danke. Ich habe vor kurzem beschlossen, die eingebaute 'type (...)' -Funktion zu verwenden, um genau die Typen von Variablen zu drucken, über die ich Zweifel habe. Manchmal erfordert es ein bisschen detektivische Arbeit bei der Verwendung von Bibliotheken wie Matplotlib, aber zumindest es hat mir geholfen, Typen zu finden, so weit, dass ich sie in meine Funktionserklärungen setzen kann. – Michelrandahl