Was bedeutet -> in Python-Funktionsdefinitionen?

Ich habe vor kurzem etwas Interessantes beim Anschauen bemerktPython 3.3-Grammatikspezifikation:

funcdef: 'def' NAME parameters ['->' test] ':' suite

Der optionale Pfeilblock fehlte in Python 2 und ich konnte keine Informationen zu seiner Bedeutung in Python 3 finden. Es stellt sich heraus, dass dies korrektes Python ist und vom Interpreter akzeptiert wird:

def f(x) -> 123:
    return x

Ich dachte, dass dies eine Art Vorbedingungssyntax sein könnte, aber:

Ich kann nicht testenx hier ist es noch undefiniert,Egal, was ich nach dem Pfeil setze (z.2 < 1) hat dies keinen Einfluss auf das Funktionsverhalten.

Könnte es jemand erklären, der mit dieser Syntax vertraut ist?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage