所以我知道有些语言有预期的约定。

PHP- underscore_case() [大多数情况下,洛洛]

爪哇- camelCase()

C# - PascalCase()

ETC。

什么是“Pythonic”命名约定?我知道这最终并不重要,只是想知道是否有大多数模块完成的“最佳实践”方式。

有帮助吗?

解决方案

两个字: PEP 8.

PEP 8 是(事实上的)Python 风格指南。本文档中的一些要点(我故意遗漏了一些内容;请阅读原始文档以了解详细信息):

  • 包和模块名称:全小写名称。如果可以提高可读性,可以在模块名称中使用下划线。

  • 类名:类名几乎无一例外地使用 CapWords 约定。*

  • 全局变量名称:这些约定与函数的约定大致相同。

  • 函数名称:函数名称应小写,必要时用下划线分隔单词以提高可读性。仅在已经成为流行风格的上下文中才允许使用混合大小写(例如 threading.py),以保留向后兼容性。

  • 方法名称和实例变量:根据需要使用小写字母并用下划线分隔单词以提高可读性。仅对非公共方法和实例变量使用一个前导下划线。

  • 常数:全部用大写字母书写,并用下划线分隔单词。例子包括。

其他提示

读取 PEP 8

这是一个风格指南Python代码,通过Python的创建者,吉多·范罗苏姆写入。

顺便说一下,回答你的问题是使用underscore_case变量和函数名和PascalCase上课。

七个字: Google 代码之夏 Python 风格指南

请注意,某些命名约定与 PEP8 不同,而是遵循本样式指南起源的原始 Google Python 样式指南。

  • “内部”是指模块内部或类内受保护或私有的。前面添加一个下划线 (_) 对保护模块变量和函数有一定的支持(不包含在 import * from 中)。
  • 在实例变量或方法前面添加双下划线 (__) 可以有效地使该变量或方法对其类私有(使用名称修饰)。
  • 将相关的类和顶级函数放在一个模块中。与 Java 不同,无需将自己限制为每个模块一个类。但是,请确保同一模块中的类和顶级函数具有高内聚性。
  • 使用 CapWords 作为类名,使用 lower_with_under.py 作为模块名。

命名示例

  • 套餐: lower_with_under
  • 模块: lower_with_under, _lower_with_under
  • 课程: CapWords, _CapWords
  • 例外情况: CapWords
  • 功能: firstLowerCapWords(), _firstLowerCapWords()
  • 全局/类常量: CAPS_WITH_UNDER, _CAPS_WITH_UNDER
  • 全局/类变量: lower_with_under, _lower_with_under
  • 实例变量: lower_with_under, _lower_with_under (受保护)或 __lower_with_under (私人的)
  • 方法名称: firstLowerCapWords(), _firstLowerCapWords() (受保护)或 __firstLowerCapWords() (私人的)
  • 函数/方法参数: lower_with_under
  • 局部变量: lower_with_under
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top