v: 表明是私有属性或私有方法, 在外部不应调用
__v: 表明是私有属性或私有方法, 在外部不应调用; 在子类中, 不会被子类的同名属性或方法覆盖. 名字被重命名为 类名_v
v: 避免名称冲突, 比如不希望某个属性或方法与关键字冲突.
class A:def __init__(self):self._internal = 0self.public = 1def public_method(self):print('public_method')def _internal_method(self):print('_internal_method')class B:def __init__(self):self.__private = 0def __private_method(self):print('__private_method')def public_method(self):print('public_method')print('[*] run __private_method from public_method')self.__private_method()class C(B):def __init__(self):super().__init__()self.__private = 1
