python中变量命名的含义
在python代码中,变量命名有很多种。比如var
、_var
、__var
、__var__
等,一直很对这些似懂非懂。本文就对Python中变量/函数命名规范总结。
因为函数名和变量都有这些不同命名的格式,所以我们以变量名为例进行梳理,函数名其实也是一样的。
先来看结论。
普通变量(var)
这类变量可以认为是公有变量,也就是说,在类中声明了这类变量,该类的函数、该类的对象、该类的子类的对象都可以对其进行访问。
单前导下划线(_var)
这类变量是类的内部变量,该类的函数、该类的对象、该类的子类的对象都可以对其进行访问。但是,使用from module import *
时,不会被导入。
双前导下划线(__var)
这类变量是类的私有成员,只允许该类的函数访问,该类的对象和子类都无法访问。
前后双下划线(__var__)
这种写法是一种约定,python内部的名字,用来区别其它用户自定义的命名,以防止冲突。表示这是一个特殊的成员。比如定义类的时候,若是添加__init__()
方法,那么在创建类的实例的时候,实例会自动调用这个方法。一般不将自定义的方法这样命名。
代码实战
首先我们定义两个类,B是A的子类。
class A:
def __init__(self):
self.a = 1
self._a = 2
self.__a