‘’’
描述符中的组成:
临时变量 自己定义
1. set 管理获取值
2. get 管理设置值
3. delete 管理删除值
描述符的第一种格式:
描述符的类
被管理的成员类
描述符的第二种格式:
描述符融合到被管理的成员类当中(使用了property()函数)
描述符的第三种格式:
描述符融合到被管理的成员类当中(使用装饰器语法组合)
‘’’
‘’’
#声明一个第二种格式的描述符类
#声明一个类(邮箱类)
class Email:
#成员属性
#username = ‘匿名用户’
#添加一个是否能删除的标志
isallowdel_username = False
password = '12345678'
phone = '87654321'
#成员方法:
#初始化方法:
#---------------描述符使用的区域 开始----------------
def init(self):
self.tmpvar = ‘匿名用户’
#管理获取的描述符的方法
def aa(self): # 只有一个self就够了
#return self.tmpvar
#设置相关管理
result = self.tmpvar[0] + '*' + self.tmpvar[-1]
return result
#管理描述符设置的方法
def bb(self,a):
print(a)
#管理设置操作
self.tmpvar = a
#管理描述符删除的方法
def cc(self):
#管理删除操作
#一定能删
#del self.tmpvar
#带判断条件的删除
if self.isallowdel_username == True:
del self.tmpvar
#--------------描述符使用的区域 结束----------------
def login(self):
print('这是第一个登陆的方法')
def logout(self):
print('这是一个退出的方法')
#将成员交接给描述符管理
username = property(aa,bb,cc)
#实例化一个对象
mail = Email()
#访问用户名
print(mail.username)
#设置用户名
mail.username = ‘王老吉’
print(mail.username)
#删除用户名
del mail.username
print(mail.username)
‘’’
#声明一个第三种格式的描述符类
#声明一个类(邮箱类)
class Email:
#成员属性
#username = ‘匿名用户’ #直接注释
#添加一个是否能删除的标志
isallowdel_username = False
password = '12345678'
phone = '87654321'
#成员方法:
初始化一个临时成员属性(代替原有username的操作)
def __init__(self):
self.tmpvar = '匿名用户'
@property # 将用户名username交给描述符管理(默认用做获取管理的方法)
def username(self):
pass
@username.setter #用于设置的方法
def username(self):
pass
@username.deleter #用于删除的方法
def username(self):
pass
def login(self):
print('这是第一个登陆的方法')
def logout(self):
print('这是一个退出的方法')
#实例化一个对象
mail = Email()
#访问用户名
print(mail.username)
#设置操作,跟上面两种方式一样