将超过255个参数传递给函数

时间:2014-11-05 20:05:13

标签: python function variables arguments

我只是将我的论点从def语句传递给def语句。我不知道您可以传递的参数数量有限制。我假设参数是变量。我需要能够传递超过255个。有人可以帮助我以外行的方式解决如何解决问题"超过255个参数"。谢谢!

代码:

def a():
  "Things happening"
  variable1
  b(variable1)

def b(variable1):
  "Things happening"
  variable2
  c(variable1, variable2)

def c(variable1, variable2):
  "Things happening"
  variable3
  d(variable1, variable2, variable3)
.
.
.
def z5(variable1,...variable256):
  print result

main()

2 个答案:

答案 0 :(得分:6)

在python 3.7中,你现在可以传递超过255个参数。

见这里:

https://docs.python.org/3.7/whatsnew/3.7.html

https://bugs.python.org/issue12844

https://bugs.python.org/issue18896

答案 1 :(得分:4)

Python有目的地阻止你传递超过255个参数,因为这样做的代码非常不合并且难以维护。如果函数需要那么多参数(或任何接近该数字的参数),则意味着设计中存在缺陷。

如果你真的需要+255个不同的值,那么你应该将它们全部放在一个列表中并让你的函数接受它:

def z5(list_of_values):
    ...

z5([val1, val2, val3, ...])