Cog*_*bot 15 python naming conventions
python社区中用于设置项目文件夹和子文件夹名称的命名约定是什么?
my-great-python-project
my_great_python_project
myGreatPythonProject
MyGreatPythonProject
Run Code Online (Sandbox Code Playgroud)
我发现在github中混淆了。感谢您的专家意见。
sir*_*sen 13
共有三种约定,您可能会感到困惑。
PEP8定义了如何命名包和模块的标准:
模块应使用简短的全小写名称。如果模块名称可以提高可读性,则可以在模块名称中使用下划线。尽管不鼓励使用下划线,但Python软件包也应使用短的全小写名称。
即使在PEP8中,许多软件包也使用下划线,并且社区并不认为这是不良做法。因此,您会看到许多名称,例如sqlalchemy_searchable,等等。
尽管您可以使用与软件包名称不匹配的名称创建一个文件夹,但是这样做通常是一个坏主意,因为这会使情况更加混乱。
因此,您通常在文件夹中使用带小写的全小写名称。
安装时,软件包的名称不需要与在pypi(pip安装源)上发布的名称相匹配。上的软件包pypi通常以连字符而不是下划线命名。例如flask-cors,它安装软件包flask_cors。
但是,您会注意到,如果您继续执行本示例,则flask-cors的GitHub存储库将在flask_cors/目录中定义程序包代码。这是常态。
但是,这有点混乱,因为pip软件包安装不区分大小写,并且等效地对待下划线和连字符。因此Flask-Cors,fLASK_cOrs等等都是“等价的”。就个人而言,我不喜欢这样玩游戏-我建议仅在pypi上用连字符将小写字母命名为包,这是大多数人所做的。
免责声明:我不拥有或维护sqlalchemy-searchableor flask-cors,但在撰写本文时,它们是名称中带有下划线的软件包的很好示例。
altimeter-valport-lcm下面是我们如何组织一个名为其中包含包的存储库的示例altimeter_valeport_lcm。该软件包包含模块altimeter_valeport_lcm.parser:
altimeter-valeport-lcm/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 altimeter_valeport_lcm\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __main__.py\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 parser.py\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 snake_case.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.rst\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 setup.py\nRun Code Online (Sandbox Code Playgroud)\n[笔记]:
\nPython 包也应该有短的、全小写的名称,尽管不鼓励使用下划线。Pep 8 风格指南
这是对包的建议,它是包含模块的主文件夹,用于测试、设置和脚本文件、*.py 和 __init__.py。因此,我假设该文件夹是包,因此应该全部小写,没有下划线(请参阅链接Some Package Github)。
| 归档时间: |
|
| 查看次数: |
7458 次 |
| 最近记录: |