How to create multiple class objects with a loop in python?

后端 未结 5 1068
抹茶落季
抹茶落季 2020-12-04 15:48

Suppose you have to create 10 class objects in python, and do something with them, like:

obj_1 = MyClass()
other_object.add(obj_1)
obj_2 = MyClass()
other_ob         


        
5条回答
  •  长情又很酷
    2020-12-04 16:17

    Using a dictionary for unique names without a name list:

    class MyClass:
        def __init__(self, name):
            self.name = name
            self.pretty_print_name()
    
        def pretty_print_name(self):
        print("This object's name is {}.".format(self.name))
    
    my_objects = {}
    for i in range(1,11):
        name = 'obj_{}'.format(i)
        my_objects[name] = my_objects.get(name, MyClass(name = name))
    

    Output:

    "This object's name is obj_1."
    "This object's name is obj_2."
    "This object's name is obj_3."
    "This object's name is obj_4."
    "This object's name is obj_5."
    "This object's name is obj_6."
    "This object's name is obj_7."
    "This object's name is obj_8."
    "This object's name is obj_9."
    "This object's name is obj_10."
    

提交回复
热议问题