68

在python(和其他一些语言)中,我了解到,一个类的名称应该用小写字母写,除了每个单词的第一个字母应该是大写字母。例子:

class FooBar:
    ...

一个类应该放在一个文件中,名称与该类相同。在本例中,它将是一个文件foobar.py。如果我想在foo某处导入类,我必须这样做:

from foobar import FooBar

这个约定让我有点困惑。我的直觉告诉我,如果文件名表示一个类,那么它也应该用大写的第一个字母来写,比如FooBar.py. 这在文件名中看起来并不漂亮。也许有人可以告诉我这个的标准约定是什么?

我希望我的问题可以理解。:-)

4

2 回答 2

66

您提出的是标准约定。

包和模块名称

模块应该有简短的全小写名称。如果提高可读性,可以在模块名称中使用下划线。Python 包也应该有简短的全小写名称,尽管不鼓励使用下划线。

由于模块名称映射到文件名,并且某些文件系统不区分大小写并截断长名称,因此选择相当短的模块名称很重要——这在 Unix 上不是问题,但它可能是将代码传输到较旧的 Mac 或 Windows 版本或 DOS 时出现问题。

当用 C 或 C++ 编写的扩展模块附带提供更高级别(例如更面向对象)接口的 Python 模块时,C/C++ 模块具有前导下划线(例如_socket)。

类名

几乎无一例外,类名都使用 CapWords 约定。内部使用的类另外还有一个前导下划线。

( Python 风格指南)


参见例如

from configparser import ConfigParser

(顺便说一下,在 Python 2.x 中是 ConfigParser,但在 3.x 中改为小写)。

于 2011-05-12T13:23:30.857 回答
16

PEP 8 说:

模块应该有简短的全小写名称。如果提高可读性,可以在模块名称中使用下划线。Python 包也应该有简短的全小写名称,尽管不鼓励使用下划线。

我还要注意,每个文件不一定只有一个类。相反,您应该将相关的类一起包含在同一个文件中。(当然在某些情况下,一个文件的类是有效的,但并非总是如此)

于 2011-05-12T13:25:55.893 回答