func складывает три аргумента: a, b и c. Давайте разберем, что происходит в коде более подробно.1. Функция
func: def func(a: 'spam', b: (1, 10), c: float) -> int:
-
a: 'spam': Это аннотация для параметра a. Текст 'spam' здесь не имеет особого значения в самом коде, скорее всего, это просто строка, которая может использоваться для документации или информации о том, какой тип ожидался. В действительности, это просто строка, и Python не проводит никаких проверок типов на основе этой аннотации.-
b: (1, 10): Это также аннотация, которая указывает, что b должен быть значением, соответствующим кортежу (1, 10). Однако, как и в случае с аннотацией для a, эта информация не проверяется в самом коде.-
c: float: Это аннотация, указывающая, что параметр c должен быть типа float.-
-> int: Это аннотация, которая указывает, что функция будет возвращать значение типа int.2. Сложение аргументов:
Когда вы вызываете
func(1,2,3), переданная строка 1, 2 и 3 становятся значениями a, b и c соответственно. То есть:-
a = 1-
b = 2-
c = 3>>> func.__annotations__
... {'с': class 'float’>, ’b’: (1, 10), 'a': 'spam', 'return': <class ’int’>}