首页 > 解决方案 > 如何在python中自动动态创建类的实例

问题描述

我有一个类,我想动态创建该类的实例。我不知道实例的确切数量,因此我不想通过这样的已知变量创建这些类:

class Person:
    def __init__(self, age, gender):
        self.age=age
        self.gender=gender

P1=Person(23, "M")
P2=Person(64, "F")
P3=Person(12, "M")

我正在寻找类似的东西

i=0
maxPopulation=10
while i< maxPopulation:
    Person(randomx, randomy)
    i+=1

但是那样我不知道如何访问实例。在运行时。

我不是在寻找随机函数。

标签: pythonclass

解决方案


将它们添加到列表中。

i=0
maxPopulation=10
people = []
while i< maxPopulation:
    people.append(Person(randomx, randomy))
    i+=1

或者,稍微清理一下以更 Pythonic:

maxPopulation=10
people = []
for _ in range(maxPopulation):
    people.append(Person(randomx, randomy))

或者Pythonic:

max_population = 10
people = [Person(randomx, randomy) for _ in range(max_population)]

推荐阅读