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
Python - Property setting from list causes maximum recursion depth exceeded