问题描述
在以下代码中:
In [5]: if 2 > 1 & 1 > 0:
...: print("True")
...:
True
我知道: >
是比较运算符,
&
是逻辑/按位运算符,
=
是赋值运算符,
冒号怎么样:
?
我怎么能把它命名为一个抽象概念而不是冒号:
In [6]: def foo(): return 3
In [7]: foo()
Out[7]: 3
在上面的代码中, :
充当=
赋值。
我查了官方文档
2.6. Delimiters
The following tokens serve as delimiters in the grammar:
( ) [ ] { }
, : . ; @ = ->
+= -= *= /= //= %= @=
&= |= ^= >>= <<= **=
The period can also occur in floating-point and imaginary literals.
我注意到所有的分隔符都有适当的含义:(对于元组,[对于列表构造函数,@对于装饰器,
对于真正的分隔符, .
对于属性访问。
排除:
?
我怎么能以有意义的方式命名它?
1楼
:
只是复合语句语法的一部分,指示子句标题的结尾。
从的文档中:
复合语句由一个或多个“子句”组成。 子句由标题和“套件”组成。 特定复合语句的子句标题都处于相同的缩进级别。 每个子句标题都以唯一标识关键字开头,并以冒号结尾。