Python 中的模块名可以下划线结尾吗?
Can module names in Python end with an underscore?
您可以在下面找到我面临的问题的示例:
项目:
- 套餐:
xml.py
xml.py:
import xml.etree.ElementTree as Et
我的名为 xml.py 的模块在导入时与 xml 包混淆了,现在我的问题是:
我能否以不干扰包名称的方式命名我的模块,但同时又符合 PEP8 样式指南(例如:xml_.py
。我已经看到了这个变量的命名约定,但我不确定像这样命名模块是一个好习惯。
模块(文件名)应该有简短的全小写名称,并且可以包含下划线;
Pep8 文档,所以你可以:)
PEP-8 模块名称指南指出:
Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.
此外,另一个 PEP-8 guideline 指出:
single_trailing_underscore_: used by convention to avoid conflicts with Python keyword, e.g.:
... 这正是您这样做的原因,而不仅仅是“为了好玩”。
因此,即使它没有明确声明为模块的命名指南,我假设我们可以将其适应所有 Python 命名约定。所以我认为你很高兴
您可以在下面找到我面临的问题的示例:
项目:
- 套餐:
xml.py
xml.py:
import xml.etree.ElementTree as Et
我的名为 xml.py 的模块在导入时与 xml 包混淆了,现在我的问题是:
我能否以不干扰包名称的方式命名我的模块,但同时又符合 PEP8 样式指南(例如:xml_.py
。我已经看到了这个变量的命名约定,但我不确定像这样命名模块是一个好习惯。
模块(文件名)应该有简短的全小写名称,并且可以包含下划线;
Pep8 文档,所以你可以:)
PEP-8 模块名称指南指出:
Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.
此外,另一个 PEP-8 guideline 指出:
single_trailing_underscore_: used by convention to avoid conflicts with Python keyword, e.g.:
... 这正是您这样做的原因,而不仅仅是“为了好玩”。 因此,即使它没有明确声明为模块的命名指南,我假设我们可以将其适应所有 Python 命名约定。所以我认为你很高兴