我试图用Python定义一个函数。应该是这样的:
def myfunction(Peter_1, Amy_1, Peter_2, Amy_2, Peter_3, Amy_3,....Peter_50,Amy_50):
Peter_1 = 100
Amy_1 = 20
Peter_2 = 90
Amy_2 = 4
...
...
我正在使用一个用Python编写的小软件来做优化。软件是这样的,在我定义myfunction
之后,我应该写
parameter1 = Parameter("Peter_1", (90,100),1)
parameter2 = Parameter("Amy_1", (15,25),1)
...
...
parameter99 = Parameter("Peter_50", (70,100),1)
parameter100 = Parameter("Amy_50", (15,25),1)
Parameter
是软件定义的函数,Parameter
的第一个参数应该是一个字符串,并且它必须是我在myfunction
中定义的名称。然后软件知道需要优化的第一个参数是Peter_1
。
我不想输入所有的100个参数,有人能帮我吗?你知道吗
甚至可以使用python*args语法。例如:
这是一个糟糕的代码气味。应该将参数包装在对象中。例如一本字典。你知道吗
像这样:
但我真正关心的是初始化函数中的值。为什么不事先呢?你知道吗
这样你就不需要函数了。你知道吗
好吧,RvdK的答案是可行的,但是如果你必须按照你在问题中指出的方式来写,那么你应该考虑使用
exec()
函数。这样,您就可以在脚本中编写一个小代码,将此函数作为字符串写入。然后,使用exec()
,您可以实际使用生成的字符串作为代码的活动部分。你知道吗不过,如果可能的话,我建议您使用列表或元组。你知道吗
相关问题 更多 >
编程相关推荐