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

问题描述 投票:47回答:2

来自Building Skills in Python

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

为什么?

python naming
2个回答
61
投票

这里的问题是导入名称中带有破折号的文件不起作用,因为破折号是python中的减号。因此,如果您想要导入自己的模块,则其名称中不能包含短划线:

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

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

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


12
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.