如何在 Python 中使用类型注释语法声明多个变量?

sdf*_*f3w 8 python python-3.x mypy

据我所知,现在我们可以使用 Python 3.6 中的类型注释语法来声明变量,如下代码所示。

def printInt():
    a: int = 0
    b: int = 1
    c: int = 2
    print(a, b, c)
Run Code Online (Sandbox Code Playgroud)

我想要做的就是声明变量abc在一行。

我试过了a, b, c: int,但它返回错误。

a: int=0, b: int=1, c: int=2返回错误。

有没有办法在一行中使用类型注释语法声明多个变量?

Nar*_*dra 5

如果您真的想使用注释,那么您可以采用以下形式:-

a: int;b: int;c: int
a,b,c = range(3)
print(a,b,c) #As output 0 1 2
Run Code Online (Sandbox Code Playgroud)


nor*_*ok2 5

 a: int = 0; b: int = 1; c: int = 2
Run Code Online (Sandbox Code Playgroud)

实际上会起作用。如果你正在寻找一种避免重复的方法int,恐怕从 Python 3.7 开始你就不能了。


Lon*_*ead -7

Python 是完全面向对象的,而不是“静态类型”。您不需要在使用变量之前声明它们,也不需要声明它们的类型。Python 中的每个变量都是一个对象。

a,b,c=0,1,2
Run Code Online (Sandbox Code Playgroud)

或者以下可能是您正在寻找的

def magic(a: str, b: str) -> int:
    light = a.find(b)
    return light
Run Code Online (Sandbox Code Playgroud)

  • @Longroadahead 不,不幸的是它没有。他询问如何在一行中声明和注释多个变量。不确定你在回答什么。 (3认同)
  • 抱歉让问题不清楚。我实际上谈论的是类型注释语法,而不是静态类型。我编辑了我的问题。 (2认同)