![](https://img2020.cnblogs.com/blog/1042215/202012/1042215-20201205211723314-1776779788.png)
![](https://img2020.cnblogs.com/blog/1042215/202012/1042215-20201205211805353-435511713.png)
![](https://img2020.cnblogs.com/blog/1042215/202012/1042215-20201205211915804-811554334.png)
![](https://img2020.cnblogs.com/blog/1042215/202012/1042215-20201205212011572-1688711921.png)
class people:
def __init__(self,name,money):
self.name = name
self.__money = money # 私有属性,只能在类的内部使用
'''def say(self):
print('我有{}钱'.format(self.__money))'''
# 方法的封装:通过公有的方法来访问私有的属性
def getMoney(self): # 获取
return self.__money
def __setMoney(self,money): # 存钱 方法设置为私有,保护隐私,隔离复杂度
self.__money = self.__money + money
zhangsan = people('张三', 100)
'''
print(zhangsan.name)
# print(zhangsan.__money) 类的外部访问不到私有属性money。 数据的封装
print(zhangsan.say()) # 数据的封装,封不死
# 在类外面私有属性可以通过 对象名称._类名__私有属性 的方式进行访问
#print(zhangsan._people__money)
'''
print(zhangsan.getMoney())
# zhangsan.setMoney(50)
print(zhangsan._people__setMoney(20)) # 访问私有方法
print(zhangsan.getMoney())