使用循环创建多个类对象

时间:2018-10-11 14:54:25

标签: python loops class

我有以下代码:

N=200



class Nbody:

num_of_bodies = 0

def __init__(self, x, y, z, vx, vy, vz):
    self.x = x
    self.y = y
    self.z = z
    self.vx = vx
    self.vy = vy
    self.vz = vz

    Nbody.num_of_bodies +=1

def position(self):
    return '{}{}{} {}{} {}{}'.format('(',self.x,',', self.y,',', self.z,')')

nbody_1 = Nbody(random.random(), random.random(), random.random(), 0, 0, 0)
nbody_2 = Nbody(random.random(), random.random(), random.random(), 0, 0, 0)

print(nbody_1.position())
print(nbody_2.position())


print(Nbody.num_of_bodies)

我想使用循环来创建N个n个实体,而不必手动创建它们,即nbody_1和nbody_2在哪里。

例如,对于一个N = 200的循环,它将创建200 nbody_(i),其中i是介于1到200之间的整数步。

1 个答案:

答案 0 :(得分:1)

您可以使用list comprehension

nbodies = [Nbody(random.random(), random.random(), random.random(), 0, 0, 0)
           for i in range(N)]