我在代码中打了一个错字,语法上完全变得沉默了。
dict_args : {"arg1":1,"arg2":2,"arg3":3}
# .... Some more code
some_function(**dict_args)
# .... Some more code
如果您没有注意到它,那就是在声明变量:
时使用=
而不是dict_args
。
所以我的问题是,python语法:a:1
,本身,具有任何含义吗?还是应该假设它是语法错误?
答案 0 :(得分:3)
PEP-526引入了变量注释,它为程序员提供了一种向变量添加类型信息的方法。除其他外,这允许诸如
x: int
表示存在类型int
的局部变量,而没有对其进行初始化。在PEP-484 - Acceptable Type Hints中,我们可以看到注释“必须是在不引发异常的情况下进行评估的有效表达式”。
如果您查看Python grammar itself,您会发现expr_stmt
和annassign
规则使示例显示为合法。
如果您使用的是IDE /其他类型提示工具,他们肯定会对此抱怨,但这不会违反Python设置的规则。