Skip to content
xan edited this page May 17, 2015 · 2 revisions

python

__getattr__ vs getattr():

使用__getattribute__时需注意避免错误:maximum recursion depth exceeded in cmp。

  def __getattribute__(self, item):
        if item == 'id':
            return self.hex_id(object.__getattribute__(self, item))
        elif item == 'fmt':
            return self.Format.to_str(object.__getattribute__(self, item))
        elif item == 'flag':
            return self.Flag.to_str(object.__getattribute__(self, item))
        else:
            return object.__getattribute__(self, item)

Clone this wiki locally