我有以下课程:
class vehicle(object):
def __init__(self, name):
self.name = name
self.kinds_list = ["tank", "car", "motorbike", "bike", "quad" ]
@property
def kind(self):
return self.kind
@kind.setter
def kind(self, x):
if x in self.kinds_list:
self.kind = x
else:
raise AttributeError('No attribute {0} found !'.format(y))
Run Code Online (Sandbox Code Playgroud)
设置种类会导致超出最大递归深度,即堆栈溢出.
问:如何重新编写setter以使其仅适用于固定列表?