在python(以及其他一些语言)中,我学到了一个类的名称应该用小写字母写,除了第一个字母,它应该是大写字母。例如:
class FooBar:
...
一个类应该放在一个文件中,名称与该类相同。在此示例中,它将是文件foobar.py
。如果我想在某处导入类foo
,我必须这样做:
from foobar import FooBar
这个惯例让我有些困惑。我的直觉告诉我,如果文件名表示一个类,那么它应该用大写的第一个字母写,就像FooBar.py
一样。这在文件名中看起来并不漂亮。也许有人可以告诉我这是什么标准惯例?
我希望我的问题可以理解。 : - )
答案 0 :(得分:52)
您所呈现的是标准惯例。
包裹和模块名称
模块应该有简短的全小写名称。下划线可以 如果它提高了可读性,则在模块名称中使用。 Python包 也应该有简短的全小写名称,尽管使用下划线 不鼓励。
由于模块名称映射到文件名,而某些文件系统是 不区分大小写和截断长名称,重要的是模块 名称选择相当短 - 这在Unix上不会成为问题, 但是当代码被传输到较旧的Mac或时,它可能是一个问题 Windows版本,或DOS。
当用C或C ++编写的扩展模块附带Python时 提供更高级别的模块(例如,更面向对象) 接口,C / C ++模块有一个前导下划线(例如
_socket
)。班级名称
几乎无一例外,类名使用CapWords约定。 内部使用的类别还有一个主要的下划线。
参见例如
from configparser import ConfigParser
(顺便提一下,它是Python 2.x中的ConfigParser,但在3.x中改为小写)。
答案 1 :(得分:11)
PEP 8说:
模块应该有简短的全小写名称。可以使用下划线 在模块名称中,如果它提高了可读性。 Python包应该 也有简短的全小写名称,虽然使用下划线 不鼓励。
我还要注意,每个文件不一定只有一个类。相反,您应该在相同的文件中包含相关的类。 (当然在某些情况下,对一个文件有一个类可以工作,但情况并非总是如此)