2

在 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 中我可以使用标准参数、位置参数和关键字参数(就像这里arguments定义的那样)来管理动态参数号——但是在 Python中有什么类似于对象的东西吗?

4

1 回答 1

2

它在 python 中不存在,但您可以调用 locals() 作为函数中的第一件事,此时它应该只有参数

>>> def f(a,b):
...    args = locals()
...    for arg, value in args.items():
...        print arg, value
...    return a*b
...
于 2013-07-10T22:14:06.433 回答