所以我只是喜欢这个精神爆炸家伙!我正在查看我的Python源代码,正在阅读一些评论,然后我又看了一遍评论。当我遇到这个时:
#!/usr/bin/env python
# A regular comment
这让我很奇怪,选择#
作为开始评论的符号,因为它允许在shell中调用python程序,如下所示:
./test.py
然后在python解释器运行后被忽略?
答案 0 :(得分:13)
是
使用#开始评论是一种惯例,后面是每种主要的解释语言,设计用于POSIX系统(即不是Windows)。
它与序列“#!”的事实很吻合。当您尝试运行脚本文件本身时,操作系统会将文件开头识别为“在此行上运行命令”。
但大多数情况下,这是普遍接受的惯例。如果python 没有使用#来发表评论,那么会让很多人感到困惑。
修改强>
使用“#”作为评论标记显然早于“#!” hash-bang notation。 “#!”在Unix 7和8之间由Dennis Ritchie介绍,而支持#作为评论标记的语言早先存在。例如,在引入Version 7 Unix时,Bourne shell已经是默认值。
因此,使用“#”作为评论标记的惯例可能会影响“#!”的选择。作为命令行标记,而不是相反。
答案 1 :(得分:6)
在Python发布之前,正在使用#
进行评论。 shebang(#!/usr/bin/env python
)约定几乎与UNIX本身一样古老。两者交织在一起,用于许多解释(又称shell)语言。
答案 2 :(得分:1)
“字符X之后的所有其余部分”显然是最简单的方法,如果你有一个X可用(C ++必须使用两个字符,//
,为了这个目的,提供一个替代方案来自C笨重的PL / I灵感'/ '......' /'“括号”)。
几乎所有可打印的Ascii字符都可以在Python中用于其他目的 - 如果选择在#
和?
之间,第一个已经熟悉它在sh,bash,tcl中的使用,perl,awk,...... - 这不是一个很难的选择,是吗? hashbang的轻松只是一种骚动。
答案 3 :(得分:0)
这是已知的as the shebang或哈希爆炸。我想脚本语言可以使用它喜欢的任何评论字符并允许#!在第一行作为评论,但似乎更容易让#成为评论字符...