17

正如您所说,我是 Python 新手。我已经阅读了各种文档,但我仍然无法弄清楚是否有"naming best practices"for strings 函数,当然还有 classes

如果我想将一个类或函数命名为 SiteMap,使用 SiteMap 可以吗?例如,它应该是 Site_map 还是其他任何东西?

谢谢!

PS。非常感谢任何进一步的阅读资源!PS。我正在做网络应用程序开发(学习,最好说!)

4

2 回答 2

29

命名约定:

我使用了各种 Python 命名约定。这里的一致性当然很好,因为它有助于识别对象名称指向的类型。我认为我使用的约定基本上遵循PEP8

1)模块名称应该是小写的,带有下划线而不是空格。(并且应该是用于导入的有效模块名称。)

2)变量名和函数/方法名也应该是小写的,用下划线分隔单词。

3)类名应该是CamelCase(以大写字母开头,单词连在一起,每个都以大写字母开头)。

4)模块常量应该全部大写。

例如,您通常会拥有module.ClassName.method_name.

5) CamelCase 中主类名与模块名相同的模块名很烦人。(例如 ConfigParser.ConfigParser,应始终拼写为configobj.ConfigObj。)

6)此外,不属于公共 API 的变量、函数、方法和类应以单个下划线开头。(使用双下划线将属性设为私有几乎总是错误的——尤其是在可测试性方面。)

空白

最后,您应该始终在运算符周围和标点符号之后使用空格。方法和函数的默认参数除外。

例如 def function(default=argument): 和x = a * b + c

于 2012-08-17T14:44:58.090 回答
18

PEP8为 Python 指定了推荐的命名约定。在那里讨论的规则中,它提到underscore_names了函数和变量(无论它们的类型)以及CamelCase类。

于 2012-08-17T14:37:05.607 回答