我想获取必需的参数个数和非参数个数。如果有人可以帮助我,我会非常高兴,我有点被困在这里。
我已经尝试过追踪,但不知道这样做是否正确。
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
谢谢您的建议。
答案 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
)
将其转换为您想要的输出(让练习留给您)是相对琐碎的。