一、Python代码规范 - 参考
[1.] Python 编码规范 - 国内整理版(Google)
[2.] Google Python Style Guide
二、重点关注项
0. 命名
注意
避免使用项
- 单字符名称, 除了计数器和迭代器.
- 包/模块名中的连字符(-)
- 双下划线开头并结尾的名称(Python保留, 例如__init__)
命名约定
- 所谓"内部(Internal)"表示仅模块内可用, 或者, 在类内是保护或私有的.
- 用单下划线(_)开头表示模块变量或函数是protected的(使用import * from时不会包含).
- 用双下划线(__)开头的实例变量或方法表示类内私有.
- 对类名使用大写字母开头的单词(如CapWords, 即Pascal风格), 但是模块名应该用小写加下划线的方式(如lower_with_under.py).
模块命名
- 尽量使用小写(首字母小写)
- 尽量不要使用下划线(除非是多个单词,且数量不多的情况)
类名命名
- 使用驼峰(CamelCase)命名风格(首字母大写)
- 私有类可用一个下划线开头
- 将相关的类和顶级函数放在同一个模块里.
函数命名
- 函数名一律小写(如有多个单词,用下划线隔开)
- 私有函数在函数前加一个下划线
变量/常量名
- 变量名尽量小写(如有多个单词,使用下划线隔开)
- 常亮采用大写(如有多个单词,使用下划线隔开)
1. 分号
行尾不使用分号,一条命令对应一行
2. 行和语句
- 每个语句独占一行
- 长度一般不要超过80个字符
- 一般不使用反斜杠 \ 连接行(虽然可以使用)
- Python会自动将 圆括号、中括号 和 花括号 中的行隐式地连接起来
- 可以用该特性连接长语句,eg.
foo_bar(self, width, height, color='black', design=None, x='foo',
emphasis=None, highlight=0)
3. 缩进
- 用4个空格来缩进代码
- 绝不用tab
- tab和空格之间禁止混用
4. 括号
- 语句中慎用、少用,除非用于连接
5. 空行
- 顶级定义之间(函数/类)空两行
- 方法定义之间空一行
6. 空格
- 按照标准的排版规范来使用标点两边的空格
- 括号内不要使用空格
7. 注释
- 文档字符串
- 使用三重双引号"""( PEP-257 )来注释.
一个文档字符串应该这样组织:
- 1.第一行以句号、问号或惊叹号结尾的概述(或者该文档字符串单纯只有一行).
- 2.然后是一个空行.
- 3.接着是文档字符串剩下的部分, 它应该与文档字符串的第一行的第一个引号对齐.
类的注释示例
class SampleClass(object):
"""Summary of class here.
Longer class information....
Longer class information....
Attributes:
likes_spam: A boolean indicating if we like SPAM or not.
eggs: An integer count of the eggs we have laid.
"""
def __init__(self, likes_spam=False):
"""Inits SampleClass with blah."""
self.likes_spam = likes_spam
self.eggs = 0
def public_method(self):
"""Performs operation blah."""