Я хочу установить шаблон наблюдателя в свойстве класса
Я пытаюсь использовать @classmethod
, но у него нет свойства setter
.
class dataframe():
df = None
@classmethod
@property
def weather(cls):
return cls.df
@classmethod
@weather.setter
def weather(cls,value):
cls.df= value
print("the weath was change {}".format(cls.df))
<ipython-input-119-7e26ac08cb26> in dataframe()
6 return cls.df
7 @classmethod
----> 8 @weather.setter
9 def weather(cls,value):
10 cls.df= value
AttributeError: 'classmethod' object has no attribute 'setter'
Затем я попытался адаптировать найденное там решение к моей проблеме Использование свойства () для методов класса
class dataframe_meta(type):
def __init__(cls, *args, **kwargs):
cls.df = None
@property
def change(cls):
return cls.df
@change.setter
def change(cls, value):
cls.df = value
print("the weath was change {}".format(cls.df))
class dataframe(metaclass=dataframe_meta):
pass
dataframe.df = 5
Этоне возвращает никаких ошибок, но print
из установщика функций не отображался.
Как заставить его работать правильно?