美文网首页
__get__,__set__

__get__,__set__

作者: huashen_9126 | 来源:发表于2020-04-13 01:40 被阅读0次

=赋值的时候,调用某些逻辑

class Base(object):
    def __set__(self, instance, value):
        print('====>set')
        self.ret = value + ' de ' + instance.name + ' shi tou zhu'

    def __get__(self, instance, owner):
        print('====>get')
        return self.ret

    def __delete__(self, instance):
        print("====>delete")
        print("delete " + instance.name)

class Test(object):
    n = Base()

    def __init__(self, name):
        self.name = name
    
    def test(self):
        self.n = 'huahua'
        print(self.n)

    def delete(self):
        del self.n


t = Test('name')
t.test()
t.delete()
#结果
====>set
====>get
huahua de name shi tou zhu
====>delete
delete name

扩展__delete__del的时候触发
实际应用:自动化测试脚本的某些操作用=赋值的方式实现,如:输入,选择

相关文章

网友评论

      本文标题:__get__,__set__

      本文链接:https://www.haomeiwen.com/subject/fwmrmhtx.html