Heim > Backend-Entwicklung > Python-Tutorial > Wie spezifiziere ich Funktionstypen in Python-Typhinweisen?

Wie spezifiziere ich Funktionstypen in Python-Typhinweisen?

Barbara Streisand
Freigeben: 2024-11-19 09:03:03
Original
1064 Leute haben es durchsucht

How to Specify Function Types in Python Type Hints?

Funktionstyp in Typhinweisen angeben

In Python werden Typhinweise verwendet, um optionale Metadaten über die erwarteten Typen von Variablen und Funktionsparametern bereitzustellen . Allerdings kann die Angabe des Typhinweises einer Variablen als Funktionstyp unklar erscheinen.

Die Lösung

Trotz des Fehlens einer „typing.Function“ im relevanten PEP 483 können Sie den Typhinweis einer Variablen als Funktionstyp mit „typing.Callable“ angeben.

Implementierung

Die Syntax zum Angeben eines Funktionstyps mit „typing.Callable“ lautet wie folgt:

from typing import Callable

def my_function(func: Callable):
Nach dem Login kopieren

Hinweis: Callable allein ist äquivalent zu „Callable[..., Any]“, was bedeutet, dass es eine beliebige Zahl annimmt und Art der Argumente und gibt einen Wert beliebigen Typs zurück. Wenn dies zu uneingeschränkt ist, können Sie die Typen der Eingabeargumentliste und des Rückgabetyps weiter angeben.

Zum Beispiel für eine Funktion, die zwei Ganzzahlen akzeptiert und eine Ganzzahl zurückgibt:

def sum(a: int, b: int) -> int: return a+b
Nach dem Login kopieren

Die entsprechende Typanmerkung wäre:

Callable[[int, int], int]
Nach dem Login kopieren

Allgemeine Syntax

Die allgemeine Syntax zum Angeben eines Funktionstyps mithilfe von „typing.Callable“ lautet:

Callable[[ParamType1, ParamType2, ..., ParamTypeN], ReturnType]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie spezifiziere ich Funktionstypen in Python-Typhinweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage