Ошибка типа: аргумент типа ‘type’ не может быть повторен

#python

#python

Вопрос:

 from file import x
a = x
if i in a:
    dosomething
  

file.py:

 class x:
def __init__(self):
    self.q = []

def __contains__(self,item):
    return item in self.q

def __iter__(self):
    for i in self.q:
        yield i
  

Получаем ошибку: ошибка типа: аргумент типа ‘type’ не может быть повторен

Как я могу это исправить?

Комментарии:

1. Вам нужен экземпляр x : a = x() . В вашем текущем коде a это просто другое имя для класса x .

2. for variable in something является итерацией. Если something это не коллекция, которую можно повторить, вы увидите эту ошибку. В вашем случае вы пытаетесь выполнить итерацию по type , что невозможно.

3. Спасибо. a = x() сработало!