1.会用到私有属性的场景有:
# 把特定的一个属性隐藏起来,不想让类的外部进行调用.
# 我想保护这个属性,不想让属性随意被改变.
# 我想保护这个属性,不被子类继承.
私有属性不可以直接调用,可以通过类方法对类内私有属性进行调用.
可以通过对象.__dict__方法查看对象的属性,可以使用属性内的key进行调用.
# 对象._类名+私有属性.
私有的静态属性__key在子类直接调用时会报错.
2.property:属性
# 内置装饰器函数,只在面向对象中使用
类内方法伪装成属性,不用传参数,需要返回值.
目的时让代码更合理.名词时属性,动词是方法.
伪装的对象不能直接修改.
setter实现对对象的修改.
@property配合@name.setter实现对name对象的修改.
print(tiger.__dict__)
>>> {'_Person1__name': '化'}
@property配合私有属性实现对私有对象的修改.
2.1 属性修改,删除
实际上基本用不到删除,了解即可.
重点:私有属性及使用场景,property内置装饰器函数.
公众号:偷学Python.