在程序中修改某一部分会影响结果的改变,这是因为局部的改变的波动到了整体。setattr函数则是因为属性的改变才引起了它的运行,我们可以把setattr函数看作是检验属性变化的一种工具,因为一旦属性有变化,setattr函数是会自动发挥作用的。下面我们从它的说明等几个方面,用实例讲解重载引起__dict__的变化。
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__的键-值对。
以上就是我们对于setattr函数的内容介绍,从中我们可以看出,利用它自动运行的特性,可以检测dict属性的变化。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!