在 python 3.4.3 中生成对象

Generating objects in python 3.4.3

所以我不得不在 运行 之前的代码中尝试生成对象,但每次都失败了。作为一个非常简单的例子,我希望在我 运行 程序时发生评论的事情,以便它生成 class foo:

的对象
class foo:
    def __init__(self, name, amount, bool):
        self.name = name
        self.amount = amount
        self.bool = bool

desired_names = ['name1', 'name2', 'name3']

for x in desired_names:
    #Create objected assigned to the item in list, and give
    #all the objects an amount of 100 and a bool of True
    #This shoudl create:

    #name1  = foo('name1', 100, True)
    #name2  = foo('name2', 100, True)
    #name3  = foo('name3', 100, True)

我环顾四周,没有发现任何我能理解的有用信息。我也不想像以前那样将对象写入新文件然后导入新文件。但是,如果这是执行此操作的唯一方法,请告诉我! :)

非常感谢任何帮助,非常感谢!!!!!!

您可以列出要创建的对象:

object_list = []

for x in desired_names: 
     object_list.append(foo(x,100,True))

print object_list

您还必须在 class 中定义一个 __str__ 方法以按照您想要的方式打印它

使用列表组合来存储对象:

desired_names = ['name1', 'name2', 'name3']
objs = [foo(name,100, True) for name in desired_names]

或通过名称访问的字典:

d = {name:foo(name,100, True) for name in desired_names}