1._var 前置单下划线,涉及变量名和方法名时一般约定为仅供内部使用,只有约定含义,并不影响城西执行,python中公有变量和私有变量之间没有像java明确,只是一个指示性并不强制
class Test:
def __init__(self):
self.foo = 11
self._bar = 23
>>> t = Test()
>>> t.foo
11
>>> t._bar
23
2.__var前置双下划线, python解释器会重新属性名称,避免在子类中命名冲突
class Test: def __init__(self): self.foo = 11 self._bar = 23 self.__baz = 23
>>> t = Test()
>>> dir(t)
['_Test__baz','_bar', 'foo']
3.__var__前后双下划线,变量名不会被Python解释器修改
4.var_后置单下划线,与python中的关键字做区别