我正在寻找为我的函数提供参数列表的最佳方式:
def myFunc(*args):
retVal=[]
for arg in args:
retVal.append(arg+1)
return "test",retVal
问题是当你有一个长长的参数列表要传递给你的函数时它会变得非常烦人,因为你必须将整个参数列表写两倍并且当你有 10 个或更多具有完整名称的参数时,它会变成真的(真的)很重。
test,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota=myFunc(alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota)
所以我想到了这样的事情:
w=alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota
test,w=myFunc(w)
但接下来我还要做:
alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota=w
是否有任何更短的方法来从函数中提供和取回参数列表。 或者给函数一个指针,让它直接修改参数?
这就是我要找的:
w=alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota
test,w=myFunc(w)
# And directly get my parameters modified to be able to print them :
print alpha,[...],iota
最佳答案
两种选择:
尝试通过将逻辑拆分为多个函数来减少参数数量。
如果 1.) 不可能,您可以使用一个字典作为单个参数 - 封装所有参数。这将是一个灵活的(函数的签名保持不变,即使您删除或添加参数)并且大部分可读的解决方案(字典中有意义的键)。
关于Python函数长参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012553/