gpt4 book ai didi

python - 包含数字的 python 包名称是否可以接受?

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:50 25 4
gpt4 key购买 nike

我见过 PyPI 发行版名称以及带有数字的 python 包名称。例如flake8 是一个示例,您还可以使用 import flake8 进行导入。

根据 PyPI 和 PEP 标准,包名中可以有数字吗?我知道出于语法原因您不能以数字开头,但从标准的角度来看,在中间或结尾可以吗?

最佳答案

首先请注意,PyPI 项目名称和模块名称是完全独立的;没有什么可以阻止您创建安装模块 bar 的程序包 foo,并且这两个名称在有效方面遵循不同的策略。

模块名称受 Python 语法限制才有效 identifiers . In Python 2 ,这意味着它们必须由一个 ASCII 字母或下划线后跟零个或多个 ASCII 字母、数字和/或下划线组成。在 Python 3 中,添加了 Unicode,事情变得更加复杂,但我相信所有 ASCII 模块名称仍然遵循相同的限制。

PyPI 上的项目名称(在 PEP 508 等中指定)必须完全由 ASCII 字母、数字、.- 和/或_,它们必须以字母或数字开头和结尾。还有a normalization policy强制不区分大小写并将 .-_ 的运行视为相等,因此 foo-barFOO.BAR 被认为是同一个项目。

此外,PEP 8 has a section on package and module names ;它说:

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.

When an extension module written in C or C++ has an accompanying Python module that provides a higher level (e.g. more object oriented) interface, the C/C++ module has a leading underscore (e.g. _socket).

所以,是的,您可以在项目名称和模块名称中都使用数字,项目名称甚至可以以 1 开头!

关于python - 包含数字的 python 包名称是否可以接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53346450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com