如何将多个参数传递到函数中

2024-05-15 02:00:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解析一个json文件,假设被调用的函数从一个名为section1的变量获取json路径

def traverseJson(arg1):
    #do stuff

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

要调用我要运行的函数:

traverseJson(section1)

然后如何将多个参数传入函数?e、 克

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

不预先定义参数数目的解决方案将更适合于参数数目可能不同的情况。


Tags: 文件函数路径json参数defsectiondo
3条回答

如果你知道args的最大数量,一种非Python式的方法就是

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

如果没有给出四个参数,则只将0赋给其余变量。

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

def traverseJson(arg1) :
    for i in arg1:
        #do stuff

traverseJson([section1, section2, section3])

希望这有帮助

您可以使用*args语法:

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

更新:用法

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

# or

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

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

要作为数组传递,请使用*运算符;要作为散列传递,请使用**运算符。

示例:

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

阅读更多herehere

相关问题 更多 >

    热门问题