lambda 配合property的使用技巧
如果在一个类中,想封装property属性,在调用的时候才执行
class MyOjbect(object): def __init__(self): self.fight_attrs() def fight_attrs(self): """ @des: 动态设置带默认参数的property """ keys = ['sm','fy','gj'] for key in keys: setattr(self.__class__, key, property(lambda self, x=key:self.getFightAttr(x))) def getFightAttr(self, key): return key