不应该“a:1”是python中的语法错误? [重复]

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

这个问题在这里已有答案:

我在我的代码中输了一个拼写错误,语法完全无声。

dict_args : {"arg1":1,"arg2":2,"arg3":3}
# .... Some more code
some_function(**dict_args)
# .... Some more code

如果你没有注意到它,那就是在声明变量:时使用=而不是dict_args

所以我的问题是,python语法:a:1本身是否具有任何意义?或者假设它应该被视为语法错误?

python python-3.x syntax syntax-error
1个回答
3
投票

PEP-526引入了变量注释,它为程序员提供了一种向变量添加类型信息的方法。除其他外,这允许诸如此类的陈述

x: int

表示存在int类型的局部变量,而不初始化它。在PEP-484 - Acceptable Type Hints中,我们可以看到注释“必须是有效的表达式,在不增加异常的情况下进行评估”,这是您的字典文字。

如果你看看Python grammar itself你可以看到expr_stmtannassign规则使你显示合法的例子。

如果您正在使用IDE /其他类型的提示工具,他们肯定会抱怨这一点,但它并没有违反Python设置的规则。

© www.soinside.com 2019 - 2024. All rights reserved.