【问题标题】:How to use a single variable instead of passing multiple Arguments in Python如何在 Python 中使用单个变量而不是传递多个参数
【发布时间】:2013-04-19 13:44:36
【问题描述】:

例如,如果我有一个需要多个输入的方法,如下所示:

def SumOf(Arg1,Arg2,Arg3):
    Sum = Arg1+Arg2+Arg3
    return sum

我在列表中有 Arg1、Arg2、Arg3 的值,我想访问该方法

Arguments = Arg1 + "," +  Arg2 + "," + Arg 3

我想用变量Arguments来调用方法SumOf

SumOf(Arguments)

但我收到以下错误:

SumOf() takes exactly 3 arguments (1 given)

注意:以上只是一个例子,我需要这个来根据方法名称和参数执行不同的方法。

请帮忙。

【问题讨论】:

  • SumOf 函数应返回 Sum(大写字母)。我无法编辑它。为什么编辑需要至少 6 个字母?
  • 这和wxPython或者webdriver有什么关系?

标签: python


【解决方案1】:
Arguments = 1, 2, 3
SumOf(*Arguments)

(*) 运算符将参数解包到多个参数。

【讨论】:

    【解决方案2】:

    您的代码似乎存在很多问题。线...

    Arguments = Arg1 + "," +  Arg2 + "," + Arg3
    

    ...建议 Arg1Arg2Arg3 是字符串,您尝试将它们连接成一个以逗号分隔的字符串。

    为了使SumOf 函数工作,它需要传递整数值,所以如果Arg1Arg2Arg3 是字符串,您需要先将它们转换为整数int() 函数,并将它们打包成一个元组,类似于...

    Arguments = (int(Arg1), int(Arg2), int(Arg3))
    

    ...此时您可以使用...调用函数...

    SumOf(*Arguments)
    

    ...或...

    apply(SumOf, Arguments)
    

    另外,你需要换行...

    return sum
    

    ...到...

    return Sum
    

    ...否则您最终将返回对 Python 内置 sum() 函数的引用。

    【讨论】:

      猜你喜欢
      • 2021-09-02
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 2018-02-12
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      相关资源
      最近更新 更多