首页 > 解决方案 > 以有意义的方式命名分隔符`:`

问题描述

在以下代码中:

In [5]: if 2 > 1 & 1 > 0:
   ...:     print("True")
   ...:     
True

我知道: >是比较运算符,
&是逻辑/位运算符,
=是赋值运算符,

结肠:呢?我怎么能把它命名为抽象概念而不是冒号:

In [6]: def foo(): return 3
In [7]: foo()
Out[7]: 3

在上面的代码中,:充当=赋值。

我查了官方文档2. Lexical analysis — Python 3.6.6 文档

2.6. Delimiters
The following tokens serve as delimiters in the grammar:

(       )       [       ]       {       }
,       :       .       ;       @       =       ->
+=      -=      *=      /=      //=     %=      @=
&=      |=      ^=      >>=     <<=     **=
The period can also occur in floating-point and imaginary literals. 

我注意到所有的分隔符都有适当的含义:( 表示元组,[ 表示列表构造函数,@ 表示装饰器,,表示真正的分隔符,.用于属性访问。

排除:

我怎么能以有意义的方式命名它?

标签: python

解决方案


:只是复合语句语法的一部分,它指示子句标题的结尾。

复合语句的文档中:

复合语句由一个或多个“从句”组成。一个子句由一个标题和一个“套​​件”组成。特定复合语句的子句标题都处于相同的缩进级别。每个子句标题都以唯一标识关键字开头,并以 冒号结尾。


推荐阅读