-3

我想通过循环创建类对象,但我找不到解决方案

class burger:
    def __init__(self):
        self.ketchup='yes'
        self.mayo= 'No'

for i in range(5):
    burger_i= burger()

作为回报,我希望创建这些对象(我不想要列表):

burger_1
burger_2 ...
4

2 回答 2

0

这应该有效:

class burger:
    def __init__(self):
        self.ketchup='yes'
        self.mayo= 'No'

for i in range(5):
    globals()["burger_%d" % i] = burger()

但实际上,你应该只使用一个列表

于 2013-08-22T15:08:36.647 回答
0

像这样动态地命名变量是一个坏主意。您应该使用列表(如果您想要更灵活的命名,则应该使用 dict)。像这样的东西:

burgers = [burger() for i in range(5)]

现在你的burger_i很简单burgers[i]

于 2013-08-22T15:10:53.303 回答