python编码安全规范
学习完本篇,你将会有一套自己的编码规范
Python命名规范
- 简单描述:
- 普通变量命名:
小写字母,字母之间用_分割
如:定义一个临时变量,用来存储时间年this_a_year - 全局变量名(类变量,在java中相当于static变量):
大写字母,单词之间用_分割
NUMBER
COLOR_WRITE - 类成员变量
以_开头(2个下划线),其他的图通变量一样
如:定义一个价格的变量_prince,
定义一个距离的变量_instance_var - 私有实例变量(外部访问会报错)
以__开头(2个下划线),其他和普通变量一样
__private_var - 类名:
单词首字母大写
ConfigUnit - 包名:
小写字母,单词之间用_分割
ad_stats - 模块名:
小写字母,单词之间用_分割
ad_stats.py
- 注意细节
- 文件名
全小写,可使用下划线 - 包
应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。 - 函数&方法
函数名应该为小写,可以用下划线风格单词以增加可读性。如:myfunction,my_example_function。
注意:混合大小写仅被允许用于这种风格已经占据优势的时候,以便保持向后兼容。 - 函数和方法的参数
总使用“self”作为实例方法的第一个参数。总使用“cls”作为类方法的第一个参数。
如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写。 - 全局变量
对于from M import *导入语句,如果想阻止导入模块内的全局变量可以使用旧有的规范,在全局变量上加一个前导的下划线。
注意:应避免使用全局变量 - 变量
变量名全部小写,由下划线连接各个单词。如color_WHITE,this_is_a_variable = 1
注意:
1.不论是类成员变量还是全局变量,均不使用 m 或 g 前缀。
2.私有类成员使用单一下划线前缀标识,多定义公开成员,少定义私有成员。
3.变量名不应带有类型信息,因为Python是动态类型语言。如 iValue、names_list、dict_obj 等都是不好的命名。
-
常量
常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL。 -
异常
以“Error”作为后缀。 -
缩写
命名应当尽量使用全拼写的单词,缩写的情况有如下两种: -
常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。
-
命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。
例如:
function 缩写为 fn
text 缩写为 txt
object 缩写为 obj
count 缩写为 cnt
number 缩写为 num,等。 -
前导后缀下划线
一个前导下划线:表示非公有。
一个后缀下划线:避免关键字冲突。
两个前导下划线:当命名一个类属性引起名称冲突时使用。
两个前导和后缀下划线:“魔”(有特殊用途)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。
注意:关于下划线的使用存在一些争议。
Python 用下划线作为变量前缀和后缀指定特殊变量。