有关计算机语言中的注释 ,其必要性大部分已为大伙儿所的共识。

殊不知有关注释的标准,这一话题讨论如同大家以前聊完的缩近 、终止符和取名方法一样,世事难料 。

注释符一般 可分成二种 ,即行注释与块注释(inline/block),他们在不一样的计算机语言中的标记可以说令人目不暇接。

例如行注释符,它最少有下列的 17 种之多(源于wiki百科):

在其中2个较大的势力分别是“// ”与“#”号:

  • // 注释符: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 为啥“#”号作注释符 ,而不是“// ”呢? **

这个问题也许没法从分析的高效率、标记的辨识度和键入的便捷性等层面回应,由于他们大部分沒有差别。

也没有寻找官方网的表述,可是从这种注释符的势力中 ,早已不会太难得到一个比较有效的表述:

  • // 注释符大部分被 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 的注释符使用方法,大伙儿是怎么想的呢?热烈欢迎留言板留言沟通交流。

如果你觉得文中剖析得非常好 ,那么你应当会喜爱这种文章内容:

1 、Python为何应用缩进去区划代码块?

2、Python 的缩近是否灭绝人性的设计方案?

3、Python 为何无需分号作句子终止符?

4 、Python 为什么没有 main 涵数?为何我不会强烈推荐写 main 涵数?

5 、Python 为何强烈推荐环形命名法?

6、Python 为何不兼容 i 自增英语的语法,不出示 操作符?

7、Python 为何只需一条句子“a,b=b,a”,就能立即互换2个自变量?

写在最终:文中归属于“Python为何 ”系列产品(Python猫荣誉出品) ,该系列产品关键关心 Python 的英语的语法 、设计方案和发展趋势等话题讨论 ,以一个个“为何”式的难题为突破口,尝试呈现 Python 的美丽动人风采。若给你其他很感兴趣的话题讨论,热烈欢迎填在《Python的十万个为什么? 》里的问卷调查中 。一部分话题讨论会发布视頻版 ,请在 B 站观看,收看详细地址:视频地址

微信公众号【Python猫】, 本号更新连载高品质的系列产品文章内容 ,有Python为何系列产品、喵星社会学猫系列产品、Python升阶系列产品 、推荐好书系列产品、技术性创作、高品质英语强烈推荐与汉语翻译这些,热烈欢迎关心哦。

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣快排SEO www.SeogurUblog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ▶61910465