Python中变量和方法的正确大小写与格式

4 投票
3 回答
1424 浏览
提问于 2025-04-15 15:59

我知道有些编程语言有它们的命名规则。

比如,PHP 通常用 underscore_case() 这种方式来命名。

Java 则使用 camelCase()

C# 则是 PascalCase()

等等。

那么,Python 的命名规则是什么呢?我知道这其实没什么大不了的,但我还是想知道有没有一种“最佳实践”,大多数模块都是怎么命名的。

3 个回答

1

七个字:谷歌夏季编程 Python 风格指南

注意,有些命名规则和 PEP8 不同,而是遵循这个风格指南最初来源的谷歌 Python 风格指南。

  • “内部”指的是模块内部或类中的受保护或私有内容。前面加一个下划线 (_) 可以在一定程度上保护模块变量和函数(使用 import * 时不会包含这些)。
  • 在实例变量或方法前加两个下划线 (__) 可以有效地将该变量或方法设为类的私有(这叫做名称改编)。
  • 把相关的类和顶层函数放在同一个模块里。和 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
5

阅读一下 PEP 8

这是一本关于Python代码的风格指南,由Python的创始人Guido van Rossum撰写。

顺便提一下,你的问题的答案是:变量和函数的名字用 underscore_case(下划线命名法),而类的名字用 PascalCase(帕斯卡命名法)。

8

两个词:PEP 8

PEP 8 是 Python 的风格指南。这里有一些这个文档的重点(我故意省略了一些内容;建议你去看看原文,了解更多细节):

  • 包和模块名称:全部使用小写字母。如果模块名中使用下划线能让名字更清晰,可以使用下划线。

  • 类名:几乎没有例外,类名使用大写字母开头的风格。

  • 全局变量名:命名规则和函数差不多。

  • 函数名:函数名应该使用小写字母,必要时用下划线分隔单词,以提高可读性。混合大小写的命名方式只在已经普遍使用的情况下允许(例如 threading.py),以保持向后兼容。

  • 方法名和实例变量:使用小写字母,必要时用下划线分隔单词,以提高可读性。对于非公共的方法和实例变量,只需在前面加一个下划线。

  • 常量:用全大写字母书写,单词之间用下划线分隔。例子包括。

撰写回答