python中重载__setattr__引起__dict__变化是什么

发布时间:2020-12-16 09:34:42 作者:小新
来源:亿速云 阅读:156

这篇文章主要介绍python中重载__setattr__引起__dict__变化是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在程序中修改某一部分会影响结果的改变,这是因为局部的改变的波动到了整体。setattr函数则是因为属性的改变才引起了它的运行,我们可以把setattr函数看作是检验属性变化的一种工具,因为一旦属性有变化,setattr函数是会自动发挥作用的。

1.说明

setattr函数和getattr函数是对应的。一个设置对象的属性值,一个获取对象属性值。

2.参数

object -- 对象。

name -- 字符串,对象属性。

value -- 属性值。

3.返回值

无。

4.实例

class Fun:
    def __init__(self):
        self.name = "Liu"
        self.age = 12
        self.male = True
        
    def __setattr__(self, key, value):
        print("*"*50)
        print("setting:{},  with:{}".format(key[], value))
        print("current __dict__ : {}".format(self.__dict__))
        # 属性注册
        self.__dict__[key] = value
fun = Fun()

由于每次类实例进行属性赋值时都会调用__setattr__(),所以可以重载__setattr__()方法,来动态的观察每次实例属性赋值时__dict__()的变化。Fun类重载了__setattr__()方法,并且将实例的属性和属性值作为__dict__的键-值对。

以上是“python中重载__setattr__引起__dict__变化是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. python中dir()与__dict__属性有什么区别
  2. python的重载是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ct %d

上一篇:python中all的使用示例

下一篇:slice怎么在python中截断

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》