我不熟悉Python。我已阅读各种文档,但我仍然无法弄清楚字符串函数是否"naming best practices"
,当然还有类。
如果我想将类或函数命名为SiteMap,是否可以使用SiteMap?它应该是Site_map还是其他任何东西,例如?
谢谢!
PS。任何进一步的阅读资源都非常感谢! PS。我正在进行网络应用程序开发(学习,更好的说法!)
答案 0 :(得分:21)
命名约定:
我使用了各种Python命名约定。这里的一致性肯定是好的,因为它有助于确定哪种对象名称指向。我认为我使用的约定基本上遵循PEP8。
1)模块名称应为小写,带下划线而不是空格。 (并且应该是导入的有效模块名称。)
2)变量名称和函数/方法名称也应该是小写的 用下划线来分隔单词。
3)类名应为CamelCase(以大写字母开头, 单词一起运行,每个单词以大写字母开头。)
4)模块常量应全部为大写。
E.g。您通常会module.ClassName.method_name
。
5) CamelCase中的模块名称,主类名称与
模块名称很烦人。 (例如ConfigParser.ConfigParser,其中
应始终拼写为configobj.ConfigObj
。)
6)此外,不属于您的公共API的变量,函数,方法和类应以单个下划线开头。 (使用双下划线将属性设为私有几乎总是错误的 - 特别是对于可测试性。)
<强>空白强>
最后,你应该总是在操作符和标点符号后面有空格。例外是方法和函数的默认参数。
E.g。 def函数(默认=参数):和x = a * b + c
答案 1 :(得分:18)
PEP8指定了Python的推荐命名约定。在那里讨论的规则中,它提到了underscore_names
的函数和变量(无论其类型如何),以及CamelCase
的类。