在Python中没有显式的private和public限定符,如果要将一个方法声明为private的,只要在方法名前面加上__即可,
如:
class
demo:
def __init__ (self): pass
def __private_method (self):
print ' This is a private method '
def public_method(self):
print ' This is a public method '
def __init__ (self): pass
def __private_method (self):
print ' This is a private method '
def public_method(self):
print ' This is a public method '
由此可以知道所以的如__repr__, __init__, __add__都是不能直接调用的.
这些私有方法的名字在外部是不可见的,只有在内部才可以调用,由于加上了__来区分名字,所以我们可以再定义一个没有__的共有同名方法。另一个比较有意思的是如果我们在后面定义相同名字的方法,后者会覆盖前者,这是Python的解释运行特性。