【发布时间】:2013-06-07 10:46:42
【问题描述】:
在我的班级中,我有一个数组作为属性。使用 setter 装饰器我想以不同的方式为同一个属性分配一个值:
class MyClass:
def __init__(self):
self._x=[0,0,0,0]
@property
def x(self):
return self._x
@x.setter
def x(self, value):
self._x = [value,value,value,value]
@x.setter
def x(self, value1,value2):
self._x[0] = value1
self._x[3] = value2
因此,如果分配了一个数字,则所有元素都将更改,如果分配了两个数字,我将更改第一个和最后一个。这样做是否正确?
【问题讨论】:
-
您可以使用默认参数值来减少代码。例如,
def x(self, value1,value2=None)
标签: python class oop decorator python-decorators