对于文件名,为什么下划线优于连字符?

时间:2010-04-29 19:03:42

标签: python naming

来自Building Skills in Python

“像exercise_1.py这样的文件名比execise-1.py更好。我们可以从命令行同样运行这两个程序,但带连字符的名称限制了我们编写更大更复杂程序的能力。“

为什么?

2 个答案:

答案 0 :(得分:62)

这里的问题是导入名称中带有hyphen-minus(默认键盘键 - ; U+002D)的文件不起作用,因为它表示减号蟒蛇。因此,如果您想要导入自己的模块,则其名称中不应包含连字符:

>>> import test-1
  File "<stdin>", line 1
    import test-1
               ^
SyntaxError: invalid syntax
>>> import test_1
>>>

较大的程序往往在逻辑上分成许多不同的模块,因此引用

  

带有连字符的名称限制了我们编写更大更复杂程序的能力。

答案 1 :(得分:12)

从该文件(第368页,第30.2节“模块定义”):

  

请注意,模块名称必须是有效的Python名称...模块的名称仅限于字母,数字和“_”。