在 Python 中,当访问一个对象的会根据不同的情况作不同的处理,是比较复杂的。一般象a.b这样的形式,python可能会先查找a.__dict__中是否存在,如果不存在会在类的__dict__中去查找,再没找到可能会去按这种方法去父类中进行查找。实在是找不到,会调用__getattr__,如果不存在则返回一个异常。那么__getattr__只有当找不到某个属性的时候才会被调用。因此,你可能会想实现一种机制,当访问一个不存的属性时,自动提供一个缺省值。
python中 __getattr__(self,name)和__setattr__(self,name,value)的使用
最新推荐文章于 2024-12-27 14:27:00 发布
本文探讨了Python中对象属性的查找机制。介绍了如何通过__dict__和类的__dict__进行属性搜索,以及当属性未找到时如何触发__getattr__方法。此外还讨论了如何为未定义的属性设置默认值。
720

被折叠的 条评论
为什么被折叠?



