javascript的参数对象的python版本 - 它存在吗?

时间:2013-07-10 22:03:29

标签: javascript python function arguments

在JavaScript中,每个函数都有一个特殊的arguments预定义对象,它保存有关传递给函数调用的参数的信息,例如

function test() {
  var args = Array.prototype.slice.call(arguments);
  console.log(args);
}

参数可以很容易地转储到标准数组中:

test()
// []

test(1,2,3)
// [1, 2, 3]

test("hello", 123, {}, [], function(){})
// ["hello", 123, Object, Array[0], function]

我知道在Python中我可以使用标准参数,位置参数和关键字参数(就像定义的here一样)来管理动态参数号 - 但是在Python中是否有类似于arguments对象的东西?

1 个答案:

答案 0 :(得分:2)

它不像python中那样存在,但你可以调用locals()作为函数中的第一个东西,那时它应该只有参数

>>> def f(a,b):
...    args = locals()
...    for arg, value in args.items():
...        print arg, value
...    return a*b
...