如何为只包含类定义的Python文件命名?

6
如果我有一个只包含类定义的Python文件,应该如何命名?
例如,如果我有这个:
```python class MyClass: pass ```
class Folder:
    """Represents a computer folder."""
    ...

我应该将文件命名为folder.py还是Folder.py?如果文件中还有函数定义,会有什么影响吗?


Python与Java不同 - 文件名并不重要。您可以随意命名文件。避免使用Python标准库中已有的模块名称作为文件名。 - Paul Cornelius
1
@PaulCornelius Python有PEP建议,鼓励开发者遵循。 - Barmar
1个回答

7

如果你的Python类遵循CapWords约定(如你在代码中所示),那么包和模块应该全部小写,这是Python风格指南的要求。 包是目录,模块是文件,所以在你的类情况下,可以将其命名为folder.py

根据Paul Cornelius的评论,我想澄清这些只是惯例。你不需要遵循它们,并且它们不会影响程序。尽管python.org文档要求Python类使用CapWords,文件名应该小写,甚至有一些关于下划线和其他命名约定的指示,但这些并不影响程序的运行。


这是一种风格建议,不受解释器强制执行。 - Paul Cornelius
@Davy M 谢谢。如果类名由两个或更多单词组成(例如 ComputerFile),我应该怎么办?是将文件命名为 computerfile 还是 computer_file?因为类名中没有下划线。 - Mahmood Muhammad Nageeb
1
抱歉直到现在才回复你。风格指南说:“如果使用下划线可以提高可读性,则可以在模块名称中使用下划线”,但稍后又不鼓励在包名称中使用下划线;因此,您的类文件(模块)可以是computerfile或computer_file,无论哪种方式使其更易读,但如果您有一个包含多个类的目录(包),则首选全部小写且不带下划线,尽管您可以想出一个可能只使用一个单词的不同名称。简而言之:computer_file是可以接受的,并且可能是最好的选择。 - Davy M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接