尝试了以下操作,其中“object name”包含要在创建对象时分配的字符串名称。
for record in result:
objectname = 'Customer' + str(record[0])
print objectname
customername = str(record[1])
objectname = Customer(customername)
客户是一个类。
在我的测试中,这个循环运行两次,将“objectname”打印为Customer1和Customer2,但是创建了两个对象,但是这些对象被称为“objectname”(它覆盖每个循环),而不是两个唯一的对象Customer1或Customer2。
它只是不在变量中分配字符串(customer1,2),而只是变量名。
我试过给对象名分配字符串,但这会产生语法错误
当然,这必须一直做,谢谢你的帮助提前。
您可以将对象存储在Python字典中,而不是为每个客户使用新变量:
字典中存储对象的示例
我只是忍不住自己写了一些代码(比我打算写的还要多)。就像上瘾一样。不管怎样,我不会用物体来做这种工作。我可能会使用一个sqlite数据库(如果你想的话可以保存在内存中)。但这段代码(希望)向您展示了如何使用字典将带有客户数据的对象保存到:
你需要的是一本字典:
动态生成变量名通常没有那么有用。我肯定会建议像尼克拉斯的答案,但如果你知道这是你想要的,这里是你如何做到的:
这将导致变量
Customer1
和Customer2
被添加到最里面的作用域,就像您执行了以下行一样:这样做时,需要确保
customername
是一个valid Python identifier。相关问题 更多 >
编程相关推荐