我想从我创建的类中动态创建许多对象:
class student(object):
pass
myList=[x,y,z]
for obj in myList:
obj=student()
现在这是理论,但是翻译给了我:
NameError: name 'x' is not defined
那么,如何从我的自定义类创建大量对象?
谢谢
答案 0 :(得分:0)
x, y, z
被视为变量。由于它们未在任何地方定义,因此您将获得NameError
异常。要执行您想要的操作,您可以使用None
初始化列表:
myList = [None, None, None]
然后,请注意:
for obj in myList:
# some modification to obj
myList
中的元素不会被修改,因为obj
会在每个迭代中获得元素的副本。您可以使用索引来访问列表中的元素:
myList = [None, None, None]
for index in range(len(myList)):
myList[index] = student()