gpt4 book ai didi

python - 如何以编程方式确定函数/内置/可调用参数的数量?

转载 作者:太空宇宙 更新时间:2023-11-03 16:04:32 26 4
gpt4 key购买 nike

我希望能够根据参数数量对未知函数/内置函数/可调用函数进行分类。

我可能会写一段这样的代码:

if numberOfParameters(f) == 0:
noParameters.append(f)
elif numberOfParameters(f) == 1:
oneParameter.append(f)
else:
manyParameters.append(f)

但我不知道如何实现numberOfParameters()inspect.getargspec 不适用于内置函数。我不能使用异常,因为调用该函数的成本可能很高。

如果该解决方案同时适用于 Python 2.7 和 Python 3.3+,那就太好了

最佳答案

从Python 3.3开始

New in version 3.3.

Introspecting callables with the Signature object

>>> import inspect
>>> inspect.signature(sorted).parameters
mappingproxy(OrderedDict([('iterable', <Parameter "iterable">), ('key', <Parameter "key=None">), ('reverse', <Parameter "reverse=False">)]))

然后你就可以数数,然后做任何你想做的事。

关于python - 如何以编程方式确定函数/内置/可调用参数的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39975486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com