通用命名规则(其它编程语言也差不多)

  1. 命名只能以字母或下划线_开头,不能以数字、中文、其他特殊符号(如空格)开头
  2. 不能是 Python 关键字,但可以包含关键字

    包命名 mypackage,my_package

  • 小写字母;
  • 可使用下划线,单词之间用_分割;
  • 如:mypackage,my_package

    模块命名 mymodule.py,module_name.py

  • 小写字母;

  • 可使用下划线,单词之间用_分割;
  • 如:mymodule.py,ad_stats.py

    类命名 MyClass,ClassName

  • 单词首字母大写

  • 如:AdStats,ConfigUtil,MyClass
  • 内部类:可以使用额外的前导下划线;
  • 如:__MyClass
  • 基类:使用Base或Abstract前缀,如:CamelBase

    函数命名

  1. 普通函数 myfunction(),my_function_name()
  • 小写字母;
  • 可使用下划线,单词之间用_分割;
  • 如:myfunction(),my_example_function(),get_name() ,count_number() ,ad_stat()
  1. 私有函数(外部访问会报错) __get_name()
  • 以__开头(2个下划线)
  • 小写字母;
  • 可使用下划线,单词之间用_分割;
  • 如:__get_name()
  1. 函数和方法的参数 parameter,function_parameter_name
  • 使用 self 作为实例方法的第一个参数;
  • 使用 cls 作为类方法的第一个参数;
  • 如果函数的参数名称,和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写;
  • 缺省值等号两边无空格;def func(self, user=None):

    变量命名

  1. 变量定义
  • 全局变量:属于模块的属性,在模块内、所有函数外、在class外,这是全局变量;
  • 局部变量:在函数内、在class的方法(构造、类方法、静态方法、实例方法)内(变量未加self修饰),这是局部变量
  • 类变量:属于类的属性,在class内,且不在class的方法内,这是类变量
  • 实例变量:属于对象的属性,在class的方法内,且使用self修饰的变量,这是实例变量
  • 注意说明:如果局部变量与全局变量同名,那么方法或者函数中将优先使用的是局部变量的值,而不是使用全局变量;
  • global关键字,显式的引用全局变量;
  1. 类变量(全局变量名) COLOR_WRITE,GLOBAL_VAR_NAME
  • 大写字母;
  • 单词之间用_分割;
  • 在java中相当于static静态变量;
  • 如:NUMBER,COLOR_WRITE
  1. 常量 MAX_OVERFLOW,TOTAL
  • 大写字母;
  • 单词之间用_分割;
  • 如:MAX_OVERFLOW,TOTAL
  1. 普通变量 this_is_a_var ,local_var_name
  • 小写字母;
  • 可使用下划线,单词之间用_分割;
  • 如:this_is_a_var
  1. 实例变量 _instance_var
  • 以_开头(1个下划线)
  • 小写字母;
  • 可使用下划线,单词之间用_分割;
  • 如:_price ,_instance_var
  1. 私有实例变量(外部访问会报错) __private_var
  • 以__开头(2个下划线)
  • 小写字母;
  • 可使用下划线,单词之间用_分割;
  • 如:price ,private_var
  1. 专有变量 class

开头,结尾;
一般为python的自有变量,开发不要以这种方式命名;
如:docclass

  1. 异常命名 ExceptionNameError

以 Error 作为后缀;

  1. 前导后缀下划线
  • 一个前导下划线:表示非公有
  • 一个后缀下划线:避免关键字冲突
  • 两个前导下划线:当命名一个类属性引起名称冲突时使用,也可能是私有成员,只有类对象自己能访问,连子类对象也不能访问到这个数据
  • 两个前导和后缀下划线:有特殊用途的对象或者属性,例如init__str

    缩写

    命名应当尽量使用全拼写的单词;
    常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser
    命名中含有长单词,对某个单词进行缩写,应使用约定成俗的缩写方式;
    如:
    function 缩写为 fn
    text 缩写为 txt
    object 缩写为 obj
    count 缩写为 cnt
    number 缩写为 num

参考自: Python变量、方法、类的命名规则 【Python面试】 说说Python变量、函数、类的命名规则? Python基础语法01—命名规则