我不清楚是否引用模块/类/包的文件名。
如果每个都有一个示例,则文件名是否应全部使用小写并带有下划线?还是别的?
#1 楼
引用https://www.python.org/dev/peps/pep-0008/#package-and-module-names:模块应该使用短小写全名。如果模块名称可以提高可读性,则可以在模块名称中使用下划线。尽管不建议使用下划线,但Python软件包也应使用短小写的全名。
对于类:
类名应通常使用CapWords约定。
并且函数和(本地)变量名称应为:提高可读性
有关模块,类和包之间的区别,请参见以下答案:
Python模块就是一个Python源文件,可以显示类,函数和全局变量。
Python包只是Python模块的目录。
因此PEP 8告诉您:
模块(文件名)应具有短而全小写的名称,并且它们可以包含下划线;
包(目录)应具有具有短的全小写名称,最好不带下划线;
类应使用CapWords约定。
PEP 8告知名称应简短;此答案很好地概述了在创建变量名时要考虑的内容,这些变量名也适用于其他名称(用于类,包等):
变量名称不是完整的描述符;
在注释中添加详细信息;
名称太具体可能意味着代码太具体;
保留较短的范围以便快速查找;
花时间考虑可读性。 br />
最后,在Google Python样式指南中对命名约定进行了很好的概述。
评论
我会尴尬地要求确认我的理解,模块包含类-因此您将在模块中使用类,并且在一个模块中可以有多个类?
–黑暗
16年2月1日在17:13
是的,模块中可以有0、1或更多类。
–金
16年2月1日在17:14
我很高兴在项目失控之前及时发现了这一点,因为我所有的软件包都像我的班级一样遵循CapsWords约定。
–Bas Jansen
18年8月16日14:42
@pypmannetjies这实际上是另一个问题,但是我想说您应该首选长而易懂的名称,而不是短而又不易理解的名称。
–金
19年4月30日在12:50
对于软件包名称,它表示“不鼓励使用下划线”,而不是禁止使用。在python哲学中,您应该遵循“虽然实用胜过纯度”的规则。当然,最好的办法是找到一种遵循规则并切实可行的方法(也许制作多个软件包来拆分名称,使用一些> long> name而不是somelongname吗?)
– Juh_
19年5月6日在9:06
#2 楼
这是不同类型的Python名称约定的链接。Python的样式指南基于Guido的命名约定建议。
评论
tl; dr:两个类FooBar和FooBiz都可能会进入文件somepkg / foobar.py(因此:从somepkg.foobar导入FooBar),但是TimerError类可能会进入except / timer_error.py(因此要从except.timer_error导入TimerError)由于删除CamelCase有时会使单词更难以阅读,因此,蛇名可以用作文件名。