Подтвердить что ты не робот

Что делать → делать в python

Сегодня я увидел пример python, и он использовал → например, это то, что я видел:

spam = None
bacon = 42
def monty_python(a:spam,b:bacon) -> "different:":
    pass

Что делает этот код? Я не совсем уверен, что никогда не видел такой код, что я действительно не понимаю, что

 a:spam,b:bacon  

делает, может ли кто-нибудь объяснить это мне? Я googled, "что делает → делать в python", но никаких хороших поисков не оказалось, что я нашел.

4b9b3361

Ответ 1

Это аннотация функции для возвращаемого типа. annotations ничего не делают внутри кода, они есть, чтобы помочь пользователю с завершением кода (по моему опыту).

Вот PEP для него.

Позвольте мне продемонстрировать, что я имею в виду под "аннотациями ничего не делать внутри кода". Вот пример:

def fun(a: str, b: int) -> str:
    return 1

if __name__ == '__main__':
    print(fun(10, 10))

Приведенный выше код будет работать без ошибок. но, как вы видите, первый параметр должен быть string, а второй a int. Но это только проблема в моей среде IDE, код работает очень хорошо:

enter image description here

Ответ 2

Они аннотации функций. Они сами по себе ничего не делают, но их можно использовать для документации или в сочетании с метапрограммированием.