用两个下划线开头的函数是私有函数. 虽然说是私有的, 但是还是可以在类外引用 >>> class test: def __private(): print("private"); >>> a = test() >>> a.__private() Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> a.__private() AttributeError: 'test' object has no attribute '__private' >>> a._test__private() Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> a._test__private() TypeError: __private() takes no arguments (1 given) >>> dir(test) ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_test__private'] >>> test._test__private() private >>>