6.1 不要直接调用类的私有方法 ============================ .. image:: http://image.iswbm.com/20200804124133.png 大家都知道,类中可供直接调用的方法,只有公有方法(protected类型的方法也可以,但是不建议)。也就是说,类的私有方法是无法直接调用的。 这里先看一下例子 .. code:: python class Kls(): def public(self): print('Hello public world!') def __private(self): print('Hello private world!') def call_private(self): self.__private() ins = Kls() # 调用公有方法,没问题 ins.public() # 直接调用私有方法,不行 ins.__private() # 但你可以通过内部公有方法,进行代理 ins.call_private() 既然都是方法,那我们真的没有办法可以直接调用吗? 当然有啦,只是建议你千万不要这样弄,这里只是普及,让你了解一下。 .. code:: python # 调用私有方法,以下两种等价 ins._Kls__private() ins.call_private()