相关疑难解决方法(0)

Python - 列表中的属性设置导致超出最大递归深度

我有以下课程:

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以使其仅适用于固定列表?

python recursion

13
推荐指数
1
解决办法
4387
查看次数

标签 统计

python ×1

recursion ×1