Python私有方法不能外部调用如何理解

Python私有方法不能外部调用怎么理解?



class aa:
	def __p(self):
		print 'a pri'
#报错
#aa.__p()

#这个咋又能执行呢?
aa()._aa__p()
a = aa()
a._aa__p()


有人又这样说,

• 私有函数不可以从它们的模块外面被调用
• 私有类方法不能够从它们的类外面被调用

设计两个文件 inheritPrivate.py 和test.py


class aa:
	def __p(self):
		print 'a pri'
class bb(aa):
	def tryprivate(self):
		aa.__p()
test.py文件


from inheritPrivate import *
aa()._aa__p()
a = aa()
a._aa__p()

还是能运行啊!


严格是说Python是没有私有方法的,在外部是可以通过某种方式访问的。

问题二:子类继承了私有方法么?子类能用父类的私有方法么?