我试图解析一个json文件,假设被调用的函数从一个名为section1
def traverseJson(arg1):
#do stuff
section1 = json["section"]["section"][1]
要调用我运行的功能:
traverseJson(section1)
然后我如何将多个参数传入函数? e.g
section2 = json["section"]["subsection"][0]
section3 = json["section"]["subsection"][0]
不预定义参数数量的解决方案将更适合,因为参数的数量可能会有所不同。
答案 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
答案 2 :(得分:1)
如果你知道args的最大数量,那么非pythonic的做法就是
.wordSpace
如果没有给出四个参数,它只是将0分配给剩余的变量。
但是,我建议将参数作为列表传递。 e.g。
def traverseJson(arg1=0, arg2=0, arg3=0, arg4=0):
希望这有帮助