变量和方法的正确案例和格式以及Python

时间:2009-11-13 22:12:21

标签: python camelcasing pascalcasing

所以我知道有些语言有预期的惯例。

PHP - underscore_case() [大部分是lolo]

Java - camelCase()

C# - PascalCase()

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

3 个答案:

答案 0 :(得分:7)

两个字:PEP 8

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

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

  • 班级名称:几乎无一例外,班级名称都使用CapWords惯例。*

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

  • 函数名称:函数名称应为小写,并根据需要用下划线分隔,以提高可读性。只有在已经是主流风格(例如threading.py)的情境中才允许使用mixedCase,以保持向后兼容性。

  • 方法名称和实例变量:小写,必要时用下划线分隔,以提高可读性。仅对非公共方法和实例变量使用一个前导下划线。

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

答案 1 :(得分:5)

阅读PEP 8

这是Python代码的样式指南,由Python的创建者Guido van Rossum编写。

顺便提一下,您的问题的答案是对变量和函数名称使用underscore_case,对类使用PascalCase

答案 2 :(得分:1)

七个字:Google Summer of Code Python Style Guide

  

请注意,某些命名约定与PEP8不同,而是遵循此样式指南所源自的原始Google 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
  •