python文档注释符是什么意思

阅读: 评论:0

python文档注释符是什么意思

python文档注释符是什么意思

文章来源: Python猫shell

做者:豌豆花下猫编程

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

然而关于注释的规范,这个话题就像咱们以前聊过的缩进、终止符和命名方式同样,众口难调。编程语言

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

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

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

// 注释符:ActionScript, C (C99), C++, C#, D, F#, Go, Java, JavaScript, Kotlin, Object Pascal (Delphi), Objective-C, PHP, Rust, Scala, SASS, Swift, Xojo

# 注释符:Bourne shell and other UNIX shells, Cobra, Perl, Python, Ruby, Seed7, Windows PowerShell, PHP, R, Make, Maple, Elixir, Nim

那么,Python 为何用“#”号做注释符,而不是“//”呢?blog

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

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

// 注释符基本上被 C 语言家族所用

# 注释符则基本上是被 Shell 和其它脚本语言所用

Python 在创造之初,从 C 和 Shell 语言中借鉴了很多东西,但它是一种脚本语言,所以在注释符这个最为基础的语言要素上,就偏向了脚本语言的传统。

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

因此,Python 行内注释符的选择,大概能够归结为一种历史缘由,即借鉴了 Shell 脚本语言的写法。

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

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

在这份表格里,咱们看不到 Python,由于从严格意义上讲,Python 并无块注释符!

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

PEP-8 中是这么建议的:

Each line of a block comment starts with a # and a single space (unless it is indented text inside the comment).

有人曾在 Twitter 上发问,为何 Python 没有块注释符?

Guido 回复称,能够将多行字符串用做块注释:

Python 的多行字符串用三对单引号或双引号表示,它还能够用做文档字符串(即Documentation Strings,简写docstrings)。

可是,将它当作多行注释符使用,在语义上则有点怪怪的——它表示的是一段字符串,虽然没有赋值给变量,不会生成代码,可是它并不是语义上的注释。

因为脚本语言的特性,它容许咱们写一段“无根的字符串”,在语法上没有问题,也没有负做用(negative effects),可是,若是把它做为注释使用,这就是一种反作用(side effects)了。

从这点上考虑,我虽然不反对有人把多行字符串写法用做块注释,可是我会更推荐你们使用“#”号做注释。

另外,对于无用的代码,最好的作法就是直接删除,若是后续发现有须要,再回退修改。详细的多行注释尽可能放在文档字符串中,这样在核心代码中就会不多出现多行注释的状况了。

对于 Python 的注释符用法,你们是怎么想的呢?欢迎留言交流。

本文发布于:2024-02-04 13:03:01,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170707869955813.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:maple符号
标签:注释   文档   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23