Python TypeError:参数类型为';类型';这是不可容忍的

Python TypeError:参数类型为';类型';这是不可容忍的,python,Python,file.py: from file import x a = x if i in a: dosomething 获取错误:TypeError:类型为“type”的参数不可编辑 如何修复此问题?您需要x的实例:a=x()。在您当前的代码中,a只是类x的另一个名称,中的变量是一个迭代。如果something不是可以迭代的集合,您将看到此错误。在您的情况下,您正在尝试迭代类型,这是不可能的。谢谢。a=x()成功了! class x: def __init__(self): self

file.py:

from file import x
a = x
if i in a:
    dosomething
获取错误:TypeError:类型为“type”的参数不可编辑


如何修复此问题?

您需要
x
的实例:
a=x()
。在您当前的代码中,
a
只是类
x
的另一个名称,
中的变量
是一个迭代。如果
something
不是可以迭代的集合,您将看到此错误。在您的情况下,您正在尝试迭代
类型
,这是不可能的。谢谢。a=x()成功了!
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