python代码规范
如有错误欢迎大家纠正,感谢!!
PEP8规范中文版:Python PEP8 编码规范中文版
PEP8规范英文版:PEP 8 -- Style Guide for Python Code
命名规范
文件名
模块名
- 小写字母,单词之间用_分割,例如:ad_stats.py
包名
- 与模块名一样,例如:ad_stats
类名
- 首字母大写,遵循驼峰原则,例如:StringUtil
变量
全局变量
- 小写字母,单词之间用"_"分割,例如:count、boy_num
- 若要让全局变量只在模板内使用,则在变量前加上'_"(1个下划线),例如:_windows、_linux_a
普通变量
- 小写字母,单词之间用"_"分割,例如:this_is_a_data
普通实例变量
- 小写字母,与普通变量一样,例如:name、you_name
保护实例变量
- 以"_"开头(1个下划线),其他与普通变量一样(可外部访问,但不能通过“from M import xxx”导入),例如:_age、_boy_name
私有实例变量
- 以"__"开头(2个下划线),其他与普通变量一样(尽量少用,外部不可访问),例如:__private_name
关于实例变量的概念可以参考:Python类变量和实例变量(类属性和实例属性)
专有变量
- 以"__"开头,以"__"结尾,一般为python的自有变量,不要以这种方式命名,例如:__doc__
常量
- 大写字母,单词之间用"_"分割,例如:NUMBER、COLOR_RED
函数
普通函数
- 与普通变量一样,例如:get_name()
保护函数
- 以"_"开头(1个下划线),其他与普通函数一样(可外部访问,但不能通过“from M import xxx”导入),例如:_get_age()
私有函数
- 以"__"开头(2个下划线),其他与普通函数一样(尽量少用,仅允许内部访问),例如:__get_name()
形参
实例方法
- 第一个参数为self
def get_name(self): return 'LiHua'
类方法
- 第一个参数为cls
@classmethod def set_name(cls): name = 'LiHua'
静态方法
- 不设置参数
# python2需要加上@staticmethod声明为静态方法 @staticmethod def func_a(): a = 'this is a static method' # python3可以不用@staticmethod def func_b(): b = 'this is also a static method'
详情可参考:Python类方法、静态方法与实例方法以及@staticmethod和@classmethod的用法
异常
- 异常一般都是类,所以在异常名后加上"Error",例如:ZeroDivisionError
缩写
- 常用的缩写,如XML、ID等,在命名时也应只大写首字母,例如:XmlParser
- 命名中含有长单词,对某个单词进行缩写,这时应使用约定成俗的缩写方式
例如:
function----->fn
text----->txt
object----->obj
count----->cnt
number----->num下划线的使用
- 1个前缀下划线"_" —— 表示非共有,即本文提到的保护或者弱私有,无法用"from module import *"导入
- 2个前缀下划线"__" —— 表示私有,可用于类中的私有变量名
- 1个后缀下划线"_" —— 避免与系统关键字冲突
- 2个前缀后缀下划线"__xxx__" —— 系统定义的名字
---------------------------------待更新-------------------------------------
注释规范
---------------------------------待更新-------------------------------------