Python为什么用号作注释符CDA数

文章来源:Python猫

作者:豌豆花下猫

关于编程语言中的注释,其重要性基本上已为大家所共识。

然而关于注释的规范,这个话题就像我们之前聊过的缩进、终止符和命名方式一样,众口难调。

注释符通常可分为两种,即行注释与块注释(inline/block),它们在不同的编程语言中的符号可谓让人眼花缭乱。

比如行注释符,它至少有以下的17种之多(出自维基百科):

其中两个最大的阵营分别是“//”与“#”号:

//注释符:ActionScript,C(C99),C++,C#,D,F#,Go,Java,JavaScript,Kotlin,ObjectPascal(Delphi),Objective-C,PHP,Rust,Scala,SASS,Swift,Xojo#注释符:BourneshellandotherUNIXshells,Cobra,Perl,Python,Ruby,Seed7,WindowsPowerShell,PHP,R,Make,Maple,Elixir,Nim那么,Python为什么用“#”号作注释符,而不是“//”呢?

这个问题恐怕没办法从解析的效率、符号的辨识度和输入的便利性等方面回答,因为它们基本上没有区别。

我没有找到官方的解释,但是从这些注释符的阵营中,已经不难得出一个较为合理的解释:

//注释符基本上被C语言家族所用#注释符则基本上是被Shell和其它脚本语言所用Python在创造之初,从C和Shell语言中借鉴了不少东西,但它是一种脚本语言,因此在注释符这个最为基础的语言要素上,就偏向了脚本语言的传统。

在某些“类脚本语言”中,比如yaml、conf和ini等格式的配置文件,它们大多也是采用脚本语言的“#”号作为注释符。

所以,Python行内注释符的选择,大概可以归结为一种历史原因,即借鉴了Shell脚本语言的写法。

相比于行注释符的多样,块注释符更加是让人眼花缭乱:

大多数写法是我从未见过的,有些甚至是难以忍受的,槽点太多!

在这份表格里,我们看不到Python,因为从严格意义上讲,Python并没有块注释符!

一般而言,我们在连续的每行内容前面加“#”号,达到块注释的效果。块注释被看作是多个行注释。

PEP-8中是这么建议的:

Eachlineofablock


转载请注明:http://www.aierlanlan.com/grrz/1666.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了