{a:1“不应该是python中的语法错误吗?

时间:2019-03-06 14:53:29

标签: python python-3.x syntax syntax-error

我在代码中打了一个错字,语法上完全变得沉默了。

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

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

所以我的问题是,python语法:a:1本身,具有任何含义吗?还是应该假设它是语法错误?

1 个答案:

答案 0 :(得分:3)

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

x: int

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

如果您查看Python grammar itself,您会发现expr_stmtannassign规则使示例显示为合法。

如果您使用的是IDE /其他类型提示工具,他们肯定会对此抱怨,但这不会违反Python设置的规则。