在Python中使用#作为注释的起源?

所以我就像这个精神爆炸的家伙! 我正在看我的Python源代码,正在阅读一些评论,然后我又看了一个评论。 当我遇到这个:

#!/usr/bin/env python # A regular comment 

这让我想知道,被选作符号来开始评论,因为它会允许在shell中调用python程序,如下所示:

./test.py

然后一旦python解释器运行被忽略?

是。

使用#开始评论是一种惯例,后面跟着被设计用于POSIX系统(即不是Windows)的每种主要的解释语言。

它也与序列“#!”很好吻合。 在一个文件的开始被OS识别为当你试图运行脚本文件本身时,“在这一行上运行命令”。

但大多数情况下,这是公认的惯例。 如果python 没有使用#来发表评论,那么会混淆很多人。

编辑

使用“#”作为注释标记显然是在“#!”之前进行的。 哈希爆炸符号 。 “#!” 是由Dennis Ritchie在Unix 7和8之间引入的,而支持#作为注释标记的语言早就存在了。 例如,当引入版本7 Unix时,Bourne shell已经是默认的了。

因此,使用“#”作为注释标记的惯例可能影响了“#!”的选择。 作为命令行标记,而不是反过来。

在Python出现之前,使用#来进行评论。 shebang( #!/usr/bin/env python )约定几乎和UNIX本身一样古老。 这两个交织在一起的是许多解释(又名外壳)语言。

不妨研究一下shebang的历史吧!

“字符X之后的所有其余部分”显然是最方便的方法,如果你有一个可用的X(C ++必须使用两个字符, //用于目的,为C的笨重的PL / I -inspired'/'…'/'“括号”)。

几乎所有可打印的Ascii字符都可以在Python中用于其他目的 – 如果选择在#?之间 ,第一个已经熟悉了它在sh,bash,tcl,perl,awk中的用法 – 这不是一个很难的选择,是吗? hashbang的方便只是一个vig。

很好,你是对的。

这被称为shebang或hash-bang。 我想脚本语言可以使用任何它喜欢的评论字符,并允许#! 在第一行作为一个评论,但它似乎更容易,只是使#是评论字符…