Python知识点-单双下划线
_xxxx 变量或者方法,只能用于模块本身,其他子类可以访问,但不能被引用到其他模块去。
比如这个变量在 1.py中不能拿到2.py中使用。
__xxxx 代表私有变量或者私有方法 只允许这个类本身访问,实例化对象后也不能通过.__xxxxx去调用,子类也不能访问,不能通过继承方式后去这个私有变量。
"单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;"双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
class Foo(): def __init__(self): pass def public_method(self): print('我是公共方法') def __fullprivate_method(self): print('我是私有方法') def _halfprivate_method(self): print('我是单下下划线方法') #实例化Foo的一个对象 f = Foo() f.public_method() # OK f.__fullprivate_method() # Error occur f._halfprivate_method() # OK