In Typhinweisen kann die Angabe des Typs einer Variablen als Funktion ohne eine dedizierte „typing.Function“-Klasse oder eine Herausforderung erscheinen Anleitung in PEP 483. Die Lösung liegt jedoch in der Verwendung von „typing.Callable“.
Durch Hebelwirkung „typing.Callable“ können Sie Funktionstypen in Ihren Anmerkungen deklarieren. Zum Beispiel:
from typing import Callable def my_function(func: Callable):
Es ist wichtig zu beachten, dass „Callable“ allein gleichbedeutend mit „Callable[..., Any]“ ist. Dies bedeutet, dass die aufrufbare Funktion eine beliebige Anzahl und einen beliebigen Typ von Argumenten (...) akzeptiert und einen Wert eines beliebigen Typs (Any) zurückgibt.
Wenn Sie strengere Einschränkungen benötigen, können Sie die Eingabeargumenttypen und die Rückgabe angeben explizit eingeben. Betrachten Sie zum Beispiel die Funktion „Summe“:
def sum(a: int, b: int) -> int: return a+b
Ihre entsprechende Anmerkung wäre:
Callable[[int, int], int]
In dieser Anmerkung werden die Parameter in eckigen Klammern und die Rückgabe angegeben Der Typ wird als zweites Element innerhalb der eckigen Klammern angegeben. Die Syntax zum Angeben von Funktionstypen lautet im Allgemeinen:
Callable[[ParamType1, ParamType2, ..., ParamTypeN], ReturnType]
Das obige ist der detaillierte Inhalt vonWie spezifiziere ich Funktionstypen in Typhinweisen mit „typing.Callable'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!