Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么下划线比连字符更适合文件名?_Python_Naming - Fatal编程技术网

Python 为什么下划线比连字符更适合文件名?

Python 为什么下划线比连字符更适合文件名?,python,naming,Python,Naming,发件人: 像exercise\u 1.py这样的文件名比名称execise-1.py要好。我们可以在命令行中同样出色地运行这两个程序,但带有连字符的名称限制了我们编写更大、更复杂程序的能力 为什么会这样?这里的问题是,导入名称中带有(默认键盘键-;U+002D)的文件不起作用,因为它在Python中表示减号。因此,如果您有自己想要导入的模块,则其名称中不应包含连字符: >>> import test-1 File "<stdin>", line 1 im

发件人:

exercise\u 1.py
这样的文件名比名称
execise-1.py
要好。我们可以在命令行中同样出色地运行这两个程序,但带有连字符的名称限制了我们编写更大、更复杂程序的能力


为什么会这样?

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

>>> import test-1
  File "<stdin>", line 1
    import test-1
               ^
SyntaxError: invalid syntax
>>> import test_1
>>>
导入测试-1 文件“”,第1行 进口测试-1 ^ SyntaxError:无效语法 >>>导入测试1 >>> 较大的程序往往在逻辑上被分成许多不同的模块,因此

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

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

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


顺便说一句,该文档的作者是该站点上排名最高的Python回答者之一:有关超级用户的相关讨论:。这也是一本关于Unix和Linux的好读物:。。。这是大约三百页远离文本说不要使用连字符。