【发布时间】:2010-11-16 12:48:34
【问题描述】:
我有这样的事情:
class X():
def __init__(self):
self.__name = None
def _process_value(self, value):
# do something
pass
def get_name(self):
return self.__name
def set_name(self, value):
self.__name = self._process_value(value)
name = property(get_name, set_name)
我可以使用 lambda 函数替换 get_name 和 set_name 吗?
我试过这个:
name = property(lambda self: self.__name, lambda self, value: self.__name = self.process_value(value))
但是编译器不喜欢我的 setter 函数。
【问题讨论】:
-
您似乎正试图使属性定义更加模糊。用 lambda 替换简单函数有什么意义?
标签: python lambda properties