查找函数参数的数量及其名称

时间:2018-05-24 17:38:43

标签: javascript python

我在JavaScript中有这样的代码:

function func(param1, param2) {}

console.log(func.length); // 2

var getParamNames = require('get-parameter-names');
console.log(getParamNames(func)); // ['param1', 'param2']

你怎么用Python编写这个,我是新手?

2 个答案:

答案 0 :(得分:1)

使用your_function.__code__.co_varnames,您将获得一组参数名称。

示例:

def count_params(func):
    return len(func.__code__.co_varnames)

def test(param1, param2):
    pass

print(count_params(test)) # 2

答案 1 :(得分:1)

在Python中,您可以使用inspect.signature().parameters获得类似的输出。

from inspect import signature

def func(param1, param2):
    pass

print(len(signature(func).parameters.keys()))
# 2

def get_param_names(yourfunc):
    return list(signature(yourfunc).parameters.keys())

print(get_param_names(func))
# ['param1', 'param2']