获取函数中必需和不必需参数的数量

时间:2019-02-05 05:56:19

标签: python function

我想获取必需的参数个数和非参数个数。如果有人可以帮助我,我会非常高兴,我有点被困在这里。

我已经尝试过追踪,但不知道这样做是否正确。

from inspect import signature

def Test(X, Y = 4):
print(X,Y)

R = str(signature(Test))
cu = ""
for i in R:
    if i.isalpha():
        cu = "".join([cu,i])
print(len(cu))
#Output: 2 (I would like to have something like req_Arg = 1, non_req_Arg = 1)

我正在使用py 3.0

谢谢您的建议。

1 个答案:

答案 0 :(得分:1)

您可以通过遍历>>> for param in inspect.signature(Test).parameters.values(): ... print(param.kind, param.default) ... POSITIONAL_OR_KEYWORD <class 'inspect._empty'> POSITIONAL_OR_KEYWORD 4 来获取参数的类型以及是否具有默认值:

{{1}}

setup.py

将其转换为您想要的输出(让练习留给您)是相对琐碎的。