class LazyProperty: def __init__(self, func): self.func = func def __get__(self, instance, owner): if instance is None: return self else: value = self.func(instance) setattr(instance, self.func.__name__, value) return value class MyClass: def __init__(self): pass @LazyProperty def demo(self): return 'demo' @LazyProperty def demo2(self): return 'demo2' def test_demo(): d = MyClass() print(d.demo) print(d.demo2)
python: 描述符类
最新推荐文章于 2024-07-28 15:46:11 发布