如何将多个参数传递给函数

时间:2017-06-17 19:20:18

标签: python json

我试图解析一个json文件,假设被调用的函数从一个名为section1

的变量中获取json路径
def traverseJson(arg1):
    #do stuff

section1 = json["section"]["section"][1]

要调用我运行的功能:

traverseJson(section1)

然后我如何将多个参数传入函数? e.g

section2 = json["section"]["subsection"][0]
section3 = json["section"]["subsection"][0]

不预定义参数数量的解决方案将更适合,因为参数的数量可能会有所不同。

3 个答案:

答案 0 :(得分:3)

您可以使用*args语法:

def traverse(*args):
    for arg in args:
        # logic

更新:用法

section1 = ...
section2 = ...
traverse(section1, section2)

# or

sections = [..., ...]
traverse(*sections) 

答案 1 :(得分:1)

您可以将此类参数作为数组或字典(关键字映射)传递。

要使用*运算符作为数组传递,要作为哈希传递,请使用**运算符。

示例:

def function(first_arg, *args, **kwargs): 
  # something

了解更多herehere

答案 2 :(得分:1)

如果你知道args的最大数量,那么非pythonic的做法就是

.wordSpace

如果没有给出四个参数,它只是将0分配给剩余的变量。

但是,我建议将参数作为列表传递。 e.g。

def traverseJson(arg1=0, arg2=0, arg3=0, arg4=0):

希望这有帮助

相关问题