【发布时间】:2020-04-28 06:14:15
【问题描述】:
我想编写一个运行多个类的程序。我的代码看起来像
list_of_classes = [class1, class2, class3]
def run_class(class_):
print("Running class ", class_.__name__) #All my classes have such attribute
x = class_()
x.doStuff()
#etc
for class_ in list_of_classes:
run_class(class_)
问题是,对于某些类,我想传递一些参数(这些参数是可选的)。例如,假设我想为 class1 传递参数iterations = 150。
我该怎么做?我的第一个想法是像这样更改list_of_classes:
list_of_classes = [(class1, 'iterations=150'), (class2, ''), (class3, '')]
但是如何将元组的第二部分作为参数传递?
我不想像这样将参数直接放在列表中:
list_of_classes = [class1(iterations=150),class2,class3]
因为我将无法在我的函数中使用__name__ 属性。
【问题讨论】:
标签: python-3.x arguments parameter-passing