美文网首页
__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