Python 将对象分类为许多变量

Python 将对象分类为许多变量,python,class,oop,Python,Class,Oop,我不确定我的头衔是否正确,但是 比如说我有一节这样的课 >>> class Example(object): ... def __init__(self): ... self.foo = " Hello world " ... def bye(self): ... print(" Bye ") ... >>> ex = Example() >>> ex1 = Example()

我不确定我的头衔是否正确,但是

比如说我有一节这样的课

>>> class Example(object):
...     def __init__(self):
...             self.foo = " Hello world "
...     def bye(self):
...             print(" Bye ")
... 
>>> ex = Example()
>>> ex1 = Example()
>>> ex2 = Example()
>>> ex.bye()
 Bye 
>>> print(ex1.foo)
 Hello world 
>>> 
我希望
Example()?我所说的手动是指,如示例中所示:

>>> ex = Example()
>>> ex1 = Example()
>>> ex2 = Example()

通常,当您想要创建一组相关的东西时,将它们放在列表或其他容器中比放在单个变量中方便得多。您可以在容器上循环以对所有项执行某些操作,而您必须复制代码才能对多个单独的变量执行某些操作。试试这个(如果你不理解第一行的工作原理,请阅读“列表理解”):


通常,当您想要创建一组相关的东西时,将它们放在列表或其他容器中比放在单个变量中方便得多。您可以在容器上循环以对所有项执行某些操作,而您必须复制代码才能对多个单独的变量执行某些操作。试试这个(如果你不理解第一行的工作原理,请阅读“列表理解”):


我同意提供的答案,但另一个选择是使用
exec
。与范围(10)中x的
相同:exec(“ex{}=Example()”.format(x))
。这将创建一组名为
ex0…ex9
。这有点乱。最好是把东西放在容器里。@Abdou仔细阅读了你的评论后,我意识到这正是我真正需要的。我同意提供的答案,但另一种选择是使用
exec
。与范围(10)中x的
相同:exec(“ex{}=Example()”.format(x))
。这将创建一组名为
ex0…ex9
。这有点乱。“最好是把东西放在容器里。”Abdou在仔细阅读了你的评论后,我意识到这正是我真正需要的。效果太棒了!真是太棒了!
exes = [Example() for n in range(30)]
exes[11].bye()
for ex in exes:
    print(ex.foo)