您的代码现在正在做的是将单个字符串传递给 Task() 构造函数。相反,您想要的是单独格式化每个参数:
t = Task("Task_{0}".format(i), "FUNCTION", id2, "task{0}_types".format(i), None)
如果您不提前知道将有多少个参数,您可以构建一个列表并使用以下*args
方法传递它:
params = []
params.append("Task_{0}".format(i))
# ...
params.append("task{0}_types".format(i))
params.append(None)
t = Task(*params)
虽然更好的方法是字典(**kwargs
方法),因为这样你就不必关心构造函数参数的顺序:
params = {}
params['something'] = "Task_{0}".format(i)
params['something_else'] = "task{0}_types".format(i)
# ...
params['last_thing'] = None
t = Task(**params)