1.什么叫封装
就把东西 包裹起来,不被人看见。
目的:保护隐私
2.封装的格式
__属性名=值
例如:
class Girl():
def __init__(self,name,age):
self.name=name
self.__age=age
def show(self):
print(self.name,self.__age)
s=Girl('小意',18)
s.show()
print(s.name)#在外部不能访问叫封装
结果:
报错
3.私有方法
私有方法:在方法前面添加__例如__send_message
私有方法的作用:就是开发的过程中保护核心代码
在类的外部不能使用
例如:
class Phone():
def text(self):
print('laal')
def __text1(self):
print('heheh')
p=Phone()
p.text()
p.__text1()#
结果:
报错,因为在类的外部不能使用
4.应用场景
例如:
class Phone():
def __phone(self):
print('正在打电话')
def phone(self,m):
if m>30:
self.phone()
else:
print('请充值后在打')
p=Phone()
p.phone(22)
结果:
请充值后在打
5.私有化封装的限制
可以用__dict__,可以查看属性
例如:
class Girl():
def __init__(self,name,age):
self.name=name
self.__age=age
def setAge(self,age):
if age<0 or age>99:
print('来自星星的你')
self.__age=18
else:
self.__age=age
def getAg(self):
return self.__age
s=Girl("小意",18)
s.setAge(21)
print(s.getAg())
print(s.__dict__)
s.__age=99
print(s.__dict__)
结果:
21
{‘name’: ‘小意’, ‘_Girl__age’: 21}
{‘name’: ‘小意’, ‘_Girl__age’: 21, ‘__age’: 99}