Ok, позволяет сказать, что у меня есть очень простой класс, а именно:Автоматически применять методы получения и установки для нового переменного объекта
class Test(object):
pass
То, что я хотел бы сделать, это определить некоторые по умолчанию сеттера и методы получения , которые автоматически применяется к новому объекту во время создания. В приведенном ниже примере топор всегда должен быть в верхнем регистре, то есть:
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()
Так есть ли возможность сделать это без определение методов сеттера и геттера для каждого члена? Спасибо большое.
EDIT: С созданием времени я имел в виду время создания a.x
не экземпляра класса.
У меня изначально было это, тогда я думаю, что я начал думать над этим: *, которые автоматически применяются к новому члену объекта во время создания * ... поэтому я думал, что если атрибут класса или атрибут инициализирован в '__init__' должен быть освобожден от верхней части корпуса ... –
Ну, может быть, я был немного неясен, я имел в виду время создания нового члена, то есть «топор». Мне жаль. – jrsm
@jonrsharpe: Спасибо за хороший ответ. – jrsm