Python 键入提示和链接分配以及多个分配
我想这两个问题是相关的,所以我将把它们放在一起: 1.-可以在链式分配中添加类型提示吗? 这两次尝试都失败了:Python 键入提示和链接分配以及多个分配,python,python-3.x,type-hinting,chained-assignment,Python,Python 3.x,Type Hinting,Chained Assignment,我想这两个问题是相关的,所以我将把它们放在一起: 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 =
>>> 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
def foo(a:int):
... b:int=c:int=a
文件“”,第2行
b:int=c:int=a
^
SyntaxError:无效语法
>>>def foo(a:int):
... b=c:int=a
文件“”,第2行
b=c:int=a
^
SyntaxError:无效语法
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:Tuple[int]):
... b:int,c:int=a
文件“”,第2行
b:int,c:int=a
^
SyntaxError:无效语法
>>>定义栏(a:Tuple[int]):
... b、 c:元组[int]=a
...
文件“”,第2行
SyntaxError:只能对单个目标(而不是元组)进行注释
>>>定义栏(a:Tuple[int]):
... b、 c:int=a
...
文件“”,第2行
SyntaxError:只能对单个目标(而不是元组)进行注释
我知道在这两种情况下,类型都是从a的类型提示推断出来的,但是我有一个很长的变量列表(在类的\uuuu init\uuuuu
中),我希望是额外显式的
我正在使用Python 3.6.8
x:int=y=1
z=w:int=1
这是不明确的,y和z的类型应该是什么?第二行也很难解析
# Tuple unpacking with variable annotation syntax
header: str
kind: int
body: Optional[List[str]]
header, kind, body = message