描述符2

‘’’
描述符中的组成:
临时变量 自己定义
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)

#设置操作,跟上面两种方式一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值