foo:'bar'| 冒号在这个python表达式中做了什么?

Dan*_*any 5 python syntax colon

我刚刚偶然发现了python解释器的奇怪行为.错误印刷,我在声明变量时放置了冒号而不是等号.

Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
>>> foo: 'bar'
>>>
Run Code Online (Sandbox Code Playgroud)

之前没有声明变量foo.令人惊讶的是,Python没有抛出异常,但也没有做任何其他事情.

这是某种新语法吗?它的目的是什么?


PS Python 2.7按预期抛出异常:

Python 2.7.10 (default, Aug 17 2018, 17:41:52)
>>> foo: 'bar'
  File "<stdin>", line 1
    foo: 'bar'
       ^
SyntaxError: invalid syntax
>>>
Run Code Online (Sandbox Code Playgroud)