如果重复,请让我知道,但找不到答案。同样,这个问题似乎没有解决这个问题。
我想在同一行中声明多个变量的类型。代替
a: float
b: float
c: float
Run Code Online (Sandbox Code Playgroud)
我想使用类似
a, b, c: float
Run Code Online (Sandbox Code Playgroud)
但是我收到语法错误。正确的语法是什么?
用一个注释语句注释多个变量似乎是不可能的。
带注释的赋值语句将注释定义为:
annotated_assignment_stmt ::= augtarget ":" expression
["=" (starred_expression | yield_expression)]
Run Code Online (Sandbox Code Playgroud)
因此,该augtarget
规则规定了允许在冒号之前进行的操作。augtarget
定义为:
augtarget ::= identifier | attributeref | subscription | slicing
Run Code Online (Sandbox Code Playgroud)
因此,冒号之前唯一可以做的就是标识符(即单个变量),attributeref(后跟的表达式.some_attribute_name
),订阅(后跟的表达式[some_index]
)或切片(语法与订阅相同)。a, b, c
不是所有这些东西,a, b, c: <some type>
也不是合法的语法。
如果只想在一行上注释所有三个变量,而不必在一条语句中注释,则可以将独立的简单语句与分号链接在一起:
a:float; b:float; c:float
Run Code Online (Sandbox Code Playgroud)
...但这有点令人不满意,因为您仍然必须键入float
3次。
归档时间: |
|
查看次数: |
61 次 |
最近记录: |