在哪里注释Python变量?

问题描述 投票:0回答:1

据我了解,Python 中变量的工作方式与 Java 中相同。也就是说,在赋值时,我们将赋值右侧对象的引用绑定到当前作用域中的变量(名称)x。但在 Java 中,名称有定义,这与 Python 不同。并且在这个地方,指定了类型。我知道Python最初是一种无类型语言,但现在它有类型注释,并且还有类型检查器(即使它们不是该语言的一部分)。他们认为哪种类型的注释是正确的。我会写

def h():
    if random.random() >= 0.5:
        v: str = input()
    else:
        v: int = 3
    f(v)  # type of v - ???

Python 中的变量注释约定是什么?

python python-typing
1个回答
0
投票

类型提示是静态的,这意味着

v
不能具有不同的静态类型,具体取决于执行
if
语句的哪个分支。您能做的最好的事情就是注释
v
first,然后尝试稍后使用类型缩小。

def h():
    v: str | int
    if random.random() >= 0.5:
        v = input()
    else:
        v = 3
    f(v)  # Legal if f accepts an argument of type str | int
© www.soinside.com 2019 - 2024. All rights reserved.