Полагаю, эти два вопроса связаны между собой, поэтому я опубликую их вместе:
1.- Можно ли поместить подсказку типа в цепочечные назначения?
Эти две попытки потерпели неудачу:
>>> def foo(a:int):
... b: int = c:int = a
File "<stdin>", line 2
b: int = c:int = a
^
SyntaxError: invalid syntax
>>> def foo(a:int):
... b = c:int = a
File "<stdin>", line 2
b = c:int = a
^
SyntaxError: invalid syntax
2.- Можно ли указывать тип подсказки в нескольких назначениях?
Это были мои попытки:
>>> from typing import Tuple
>>> def bar(a: Tuple[int]):
... b: int, c:int = a
File "<stdin>", line 2
b: int, c:int = a
^
SyntaxError: invalid syntax
>>> def bar(a: Tuple[int]):
... b, c:Tuple[int] = a
...
File "<stdin>", line 2
SyntaxError: only single target (not tuple) can be annotated
>>> def bar(a: Tuple[int]):
... b, c:int = a
...
File "<stdin>", line 2
SyntaxError: only single target (not tuple) can be annotated
Мне известно, что в обоих случаях тип выводится из подсказки типа a, но у меня есть длинный список переменных (в __init__
класса), и я хочу быть экстра-явным.
Я использую Python 3.6.8.