class Account:
# 普通属性
bank = "ABC"
# 内部属性
_username = "School"
# 私有属性
__password = "111"
@property
def password(self):
return self.__password
@password.setter
def password(self,value):
# 增加数据的校验
if len(value) >= 8:
self.__password = value
else:
print("密码长度最少要有8位!")
通过类名访问类属性
print(Account.bank) # 将会打印 ABC
print(Account._username) # 将会打印 School
print(Account.__password) # 将会引发 AttributeError
print(Account.__dict__)
实例化
obj = Account()
实例访问类属性
print(obj.bank) # 将会打印 ABC
print(obj._username) # 将会打印 School
print(obj.__username) # 将会引发AttributeError
修改私有属性(满足校验条件)
obj.password = "eray2222" # 修改成功
print(obj.password) # 将会打印 eray2222
修改私有属性(不满足校验条件)
obj.password = "123" # 修改不会生效
print(obj.password) # 将会打印 eray2222