Что означает -> в определениях функций Python?

Я недавно заметил что-то интересное, глядя наСпецификация грамматики Python 3.3:

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

Необязательный блок «стрелка» отсутствовал в Python 2, и я не смог найти никакой информации относительно его значения в Python 3. Оказалось, что это правильный Python, и он принят интерпретатором:

def f(x) -> 123:
    return x

Я думал, что это может быть какой-то синтаксис предварительного условия, но:

Я не могу проверитьx здесь, это все еще не определено,Независимо от того, что я поставил после стрелки (например,2 < 1), это не влияет на поведение функции.

Может ли кто-нибудь, привыкший к этому синтаксису, объяснить это?

Ответы на вопрос(3)

Ваш ответ на вопрос