通用命名规则(其它编程语言也差不多)
- 小写字母;
- 可使用下划线,单词之间用_分割;
-
模块命名 mymodule.py,module_name.py
小写字母;
- 可使用下划线,单词之间用_分割;
-
类命名 MyClass,ClassName
单词首字母大写;
- 如:AdStats,ConfigUtil,MyClass
- 内部类:可以使用额外的前导下划线;
- 如:__MyClass
- 基类:使用Base或Abstract前缀,如:CamelBase
函数命名
- 普通函数 myfunction(),my_function_name()
- 小写字母;
- 可使用下划线,单词之间用_分割;
- 如:myfunction(),my_example_function(),get_name() ,count_number() ,ad_stat()
- 私有函数(外部访问会报错) __get_name()
- 以__开头(2个下划线)
- 小写字母;
- 可使用下划线,单词之间用_分割;
- 如:__get_name()
- 函数和方法的参数 parameter,function_parameter_name
- 使用 self 作为实例方法的第一个参数;
- 使用 cls 作为类方法的第一个参数;
- 如果函数的参数名称,和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写;
- 缺省值等号两边无空格;def func(self, user=None):
变量命名
- 变量定义
- 全局变量:属于模块的属性,在模块内、所有函数外、在class外,这是全局变量;
- 局部变量:在函数内、在class的方法(构造、类方法、静态方法、实例方法)内(变量未加self修饰),这是局部变量
- 类变量:属于类的属性,在class内,且不在class的方法内,这是类变量
- 实例变量:属于对象的属性,在class的方法内,且使用self修饰的变量,这是实例变量
- 注意说明:如果局部变量与全局变量同名,那么方法或者函数中将优先使用的是局部变量的值,而不是使用全局变量;
- global关键字,显式的引用全局变量;
- 类变量(全局变量名) COLOR_WRITE,GLOBAL_VAR_NAME
- 大写字母;
- 单词之间用_分割;
- 在java中相当于static静态变量;
- 如:NUMBER,COLOR_WRITE
- 常量 MAX_OVERFLOW,TOTAL
- 大写字母;
- 单词之间用_分割;
- 如:MAX_OVERFLOW,TOTAL
- 普通变量 this_is_a_var ,local_var_name
- 小写字母;
- 可使用下划线,单词之间用_分割;
- 如:this_is_a_var
- 实例变量 _instance_var
- 以_开头(1个下划线)
- 小写字母;
- 可使用下划线,单词之间用_分割;
- 如:_price ,_instance_var
- 私有实例变量(外部访问会报错) __private_var
- 以__开头(2个下划线)
- 小写字母;
- 可使用下划线,单词之间用_分割;
- 如:price ,private_var
- 专有变量 class
开头,结尾;
一般为python的自有变量,开发不要以这种方式命名;
如:doc ,class
- 异常命名 ExceptionNameError
- 前导后缀下划线
- 一个前导下划线:表示非公有
- 一个后缀下划线:避免关键字冲突
- 两个前导下划线:当命名一个类属性引起名称冲突时使用,也可能是私有成员,只有类对象自己能访问,连子类对象也不能访问到这个数据
- 两个前导和后缀下划线:有特殊用途的对象或者属性,例如init_和_str
缩写
命名应当尽量使用全拼写的单词;
常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser
命名中含有长单词,对某个单词进行缩写,应使用约定成俗的缩写方式;
如:
function 缩写为 fn
text 缩写为 txt
object 缩写为 obj
count 缩写为 cnt
number 缩写为 num
参考自: Python变量、方法、类的命名规则 【Python面试】 说说Python变量、函数、类的命名规则? Python基础语法01—命名规则