我想覆盖我的Python类的__getattribute__和__setattr__方法。我的用例是一个常见的用例:我有几个想要处理的特殊名称,并且我想要任何其他名称的默认行为。对于__getattribute__,似乎只需引发AttributeError就可以请求默认行为。但是,如何在__setattr__中实现相同的功能呢?raise AttributeError()
if name i
此程序工作正常,但当我删除getattr或setattr时,就会出现问题,而id则找不到名称。为什么会发生这种情况,程序什么时候运行setattr?我使用了调试模式,并关闭了,但它没有转到函数中。__(self, key): return self[key] raise AttributeError(r"'Model' object has no att
目前,我在类‘__setattr__()方法的末尾重写了类’__init__(),以防止新属性的创建- def __init__(self):__setattr__ = self.AttributeError("'" + name + "' not an attribute of Point object.")(self, name, value):
if not hasattr(self,