在 Python 中创建一个 class 作为另一个 class 的池
Creating a class as a pool of another class in Python
所以我有一个关于 python python class 中的约定的问题。我想写最常规的方式,但我不确定我的"technique"是否最优
一般来说,我有一个 class 的多个实例,例如Car()
,用一个方法,说drive()
。
class Car(object):
def drive(self):
pass
然后我想调用 class Car()
的所有实例的 car.drive()
。我通常这样做的方式是:
class Cars():
def __init__(self, num_cars):
self.cars = [Car() for _ in range(num_cars)]
def drive(self):
for car in self.cars:
car.drive()
当然,通常 Car()
会有多个方法,我想调用 Car()
所有实例的所有方法,使用 class Cars()
和一个方法那里会调用实例的所有方法。
你们觉得这种做法怎么样?用什么方法可以做得更好,我猜,更像 Pythonic?
"Simple is better than complex."
只要用一个列表就可以了cars
?
所以我有一个关于 python python class 中的约定的问题。我想写最常规的方式,但我不确定我的"technique"是否最优
一般来说,我有一个 class 的多个实例,例如Car()
,用一个方法,说drive()
。
class Car(object):
def drive(self):
pass
然后我想调用 class Car()
的所有实例的 car.drive()
。我通常这样做的方式是:
class Cars():
def __init__(self, num_cars):
self.cars = [Car() for _ in range(num_cars)]
def drive(self):
for car in self.cars:
car.drive()
当然,通常 Car()
会有多个方法,我想调用 Car()
所有实例的所有方法,使用 class Cars()
和一个方法那里会调用实例的所有方法。
你们觉得这种做法怎么样?用什么方法可以做得更好,我猜,更像 Pythonic?
"Simple is better than complex."
只要用一个列表就可以了cars
?