我正在使用Python 3.6.1,遇到了一些非常奇怪的事情。我有一个简单的字典作业错字,花了很长时间才找到。
context = {}
context["a"]: 2
print(context)
输出量
{}
代码context["a"]: 2
在做什么?SyntaxError
IMO应该什么时候都没有提出。起初,我认为它正在创建一个切片。但是,键入repr(context["a"]: 2)
会引发SyntaxError
。我也输入context["a"]: 2
了控制台,但控制台没有打印任何内容。我以为也许它回来了None
,但是我不太确定。
我还认为它可能是if语句的一行,但这也不应该是正确的语法。
此外,context["a"]
应提出一个KeyError
。
我很困惑。到底是怎么回事?
2
这个问题已经被骗了,很显然,这对于Python新手来说是很困惑的。我想这是最糟糕的情况,如果Python是您唯一的语言,通常在初始化之前进行类型提示和变量定义可能会感觉很陌生。我认为引发错误是不可能的,因为这种行为是有意的,有时会如PEP 526中所述有用,并且您不想破坏兼容性。但是,我不知道Python开发人员是否会考虑在某些情况下添加有用的警告消息。
—
Chris_Rands
这回答了你的问题了吗?什么是Python 3.6中的变量注释?
—
乔治