我有这堂课:
class MyClass:
def __init__(self, my_list):
for item in my_list:
print(item)
如何设置变量以运行MyClass()
,因为它需要my_list
?
我尝试了MyClass = MyClass()
但是我收到了这个错误:
TypeError: __init__() takes exactly 2 arguments (1 given)
正确的方法是什么?
答案 0 :(得分:3)
你需要传入一个iterable作为第一个参数;列表例如:
instance = MyClass(['a', 'b', 'c'])
但任何可以循环的东西都可以;所以元组,字符串,字典,文件对象都会这样做。
不要将结果分配回MyClass
;然后,您将该名称从原始类重新绑定到新创建的MyClass
实例。
答案 1 :(得分:2)
嗯...只需提交一个可迭代的my_list
参数?
演示:
>>> example = MyClass([1, 2, 3])
1
2
3