在循环中迭代创建 class 个实例

Creating class instances iteratively in loop

我想使用 for 循环创建 class 的多个实例,并为它们指定不同的名称:

robot_list = []
for i in range(10):
    robot_list.append(robot + str(i) = BasicNavigator())

这不起作用,目前,我正在这样做:

robot_list = []
robot0 = BasicNavigator()
robot_list.append(robot0)
robot1 = BasicNavigator()
robot_list.append(robot1)
robot2 = BasicNavigator()
robot_list.append(robot2)

但我想让它更有活力,所以我选择例如7个机器人,它创建7个实例,你知道吗?

有什么办法吗?

由于您希望将实例与该实例的名称一起存储,因此使用字典是最佳选择。

这可以帮助您创建所需数量的实例并将它们存储在列表中。

class Robot():
  def talk(self):
    return "Hi, I am a robot"

robots_num = 7
robots = {}
for i in range(robots_num):
  robots[f"robot_{i}"] = Robot()

print(robots["robot_0"].talk())

输出-

Hi, I am a robot