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是没有私有方法的,在外部是可以通过某种方式访问的。
问题二:子类继承了私有方法么?子类能用父类的私有方法么?