特殊方法
目前来说对于我们的程序name必须的并且name又是不同的,手动添加name容易报错
特殊方法会在特殊的时候自动调用
类的基本结构
封装的引入
属性
增强数据的安全性
1、属性1不能随意更改
2、属性不能改为任意的值
封装一
封装是面向对象的三大特性之一
不希望被外部访问到的属性或方法
将对象属性名 修改为外部不知道的名
如果要修改属性,我们要提供一个getter和setter方法是外部可以访问到属性并修改
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d6bc2e7e159f2a04c8e5038cae144c4e.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/06151763c8056d81354e0972f001a66d.png)
封装二
特点:双下划线属性名
class Person![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3b8f537dee4ca58db0722de57ca61ed2.png)
property装饰器
会将方法转换为相同名称的只读属性
@Property来创建的只读属性 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c5b363dd6f6cc210a2d6c0c2e630905d.png)