【发布时间】:2014-12-07 11:55:16
【问题描述】:
好的,假设我有一个非常简单的类,即:
class Test(object):
pass
我想做的是定义一些默认的setter和getter方法 它们会在创建时自动应用于新的对象成员。在下面的示例中,a.x 应始终为大写,即:
a = Test()
a.x = "foo"
print a.x
>>> FOO
如果我在类中创建x,我会得到这样的行为:
class Test(object):
def __init__(self):
self._x = ""
@property
def x(self):
return self._x
@x.setter(self, string):
self._x = string.upper()
那么有没有可能在不为每个成员定义 setter 和 getter 方法的情况下做到这一点?非常感谢。
编辑:创建时间是指a.x 的创建时间,而不是类实例的创建时间。
【问题讨论】:
标签: python