簡體   English   中英

在循環中迭代創建 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM