![01ad94397b3e835fdd3c2f04d2ab1d3a.png](https://i-blog.csdnimg.cn/blog_migrate/d4cafaa8399bd2df354c7c16571f865f.jpeg)
![270e7c2cc748e674bf474872d01fbfd8.png](https://i-blog.csdnimg.cn/blog_migrate/25c729c54ffd604d8adfe4858f480eb6.jpeg)
![1740b637b755d64a077a2c9d7d4e7b5f.png](https://i-blog.csdnimg.cn/blog_migrate/f3fe1afa799c9845a157b51a134ac490.jpeg)
![3e0dda48581ccfdfb2fcba8d830bc7a8.png](https://i-blog.csdnimg.cn/blog_migrate/999bc720384824d516eb7ffd38597f28.jpeg)
![71f770f93569207210e9590c554f1cd8.png](https://i-blog.csdnimg.cn/blog_migrate/7c90e6cd4d15d50897f196d285a713d8.jpeg)
![2651654c3ecee313de545661608af2ef.png](https://i-blog.csdnimg.cn/blog_migrate/65db39cefc476364ac14d90ab8f00f04.jpeg)
报错:b对象并没有num2属性,在外界不允许访问该对象的私有属性
![d3d67e89e2d14add0dfdb2e13f909a2e.png](https://i-blog.csdnimg.cn/blog_migrate/b6d0fbfb8e8becec5f98f50da706aece.jpeg)
![f814489fd8bc596121465454057c6ce4.png](https://i-blog.csdnimg.cn/blog_migrate/9ffaabcc857fa48740849fce86a35538.jpeg)
![a7c577725e2a93cb60814417937afd06.png](https://i-blog.csdnimg.cn/blog_migrate/3f97dcfa3a3b751ef9d2bf136087a2c2.jpeg)
![6d4a838a3c9ec4721b132ac92c5cb6a2.png](https://i-blog.csdnimg.cn/blog_migrate/bfdfbf22c61efe5624533b03a6ae6bc9.jpeg)
![894a771ab7e3013cbbee0bf0b1a4d9a6.png](https://i-blog.csdnimg.cn/blog_migrate/6c0183c331ba1648ef24bbfaea6ceb7a.jpeg)
class A: def __init__(self):
self.num1 = 100
self.__num2 = 200def __test(self):
print("私有方法 %d %d" %(self.num1,self.__num2))def test(self):
print("这是父类公有方法 %d" % self.__num2)
self.__test()class B(A): def demo(self):#在子类的对象方法中,不能访问父类的私有属性 #print (“访问父类的私有属性 %d” %self.__num2) # 2.在子类的对象方法中,不能调用父类的私有方法 #self.__test() # pass
print("子类方法 %d" %self.num1)# 4.调用父类的公有方法
self.test()pass#创建一个子类对象
b = B()
print(b)
b.demo()#在外界不能直接访问对象的私有属性/调用私有方法#print(b.__num2)#b.__test()
![d6d06d3480d8f7f972547a17d24a4afb.png](https://i-blog.csdnimg.cn/blog_migrate/9d6a892696aa883b4c7d17cc99c2d3ee.jpeg)