python - Python中使用#作为注释的由来?

标签 python linux shell

所以我喜欢这个精神爆炸的家伙!我正在查看我的 Python 源代码并阅读了一些评论,然后我再次查看了评论。当我遇到这个时:

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

让我感到奇怪的是,选择 # 作为开始注释的符号是因为它允许在 shell 中调用 python 程序,如下所示:

./test.py

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

最佳答案

是的。

使用 # 开始注释是每一种设计用于 POSIX 系统(即非 Windows)的主要解释语言都遵循的惯例。

它也与序列“#!”的事实相吻合。当您尝试运行脚本文件本身时,操作系统会识别文件开头的意思是“在此行运行命令”。

但大多数情况下,这是普遍接受的约定。如果 python 没有使用 # 开始注释,很多人会感到困惑。

编辑

使用“#”作为注释标记显然早于“#!” hash-bang notation . “#!”由 Dennis Ritchie 在 Unix 7 和 8 之间引入,而支持 # 作为注释标记的语言更早存在。例如,在引入版本 7 Unix 时,Bourne shell 已经是默认的。

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

关于python - Python中使用#作为注释的由来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2286120/

相关文章:

python ->> 和 << 在 Python 中是什么意思?

python - 删除比预期更多的字符

linux - 如何在 linux 中创建一个可以从多个进程读取而不消耗数据的文件描述符?

linux - 如何使用sed命令

shell - 使用 [: rows: unknown operator 获取输出

python - 生成器是否只是使用 __iter__ 和 next 函数创建新对象?

python - 如何使用 Selenium 和 python 向上滚动然后单击

linux - 参数后文件名的 Bash Tab 补全

java - 在 java shebang 脚本中加载库

linux - 即使当前命令失败,如何编写运行下一个命令的 shell 脚本?