码迷,mamicode.com
首页 > 其他好文 > 详细

2019年9月8日 描述符,代理

时间:2019-09-08 22:00:57      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:没有   instance   color   obj   就是   int   __init__   打印   div   

class Foo:
    def __set__(self, instance, value):#由于Foo代理x,所以触发了set方法
        print(set方法,instance,value)#instance传递的就是 b1
        instance.__dict__[x]=value#底层实现赋值,如果没有这句,那么b1.__dict__ 打印出来就是空。

class Bar:
    x=Foo()#Foo() 代理了x
    def __init__(self,n):
        self.x=n

b1=Bar(10)
b1.x=22
print(b1.x)
print(b1.__dict__)

》》》

set方法 <__main__.Bar object at 0x02D90A30> 10
set方法 <__main__.Bar object at 0x02D90A30> 22
22
{‘x‘: 22}

2019年9月8日 描述符,代理

标签:没有   instance   color   obj   就是   int   __init__   打印   div   

原文地址:https://www.cnblogs.com/python1988/p/11488464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!