gpt4 book ai didi

检查方法参数的 Python 2/3 兼容方式

转载 作者:太空狗 更新时间:2023-10-30 01:10:56 26 4
gpt4 key购买 nike

在 Python 2 中,要检查方法的参数,我可以使用 inspect.getargspec

然而,在 Python 3 中,在名称 inspect.getfullargspec 下添加了一个替代品,并且 inspect.getargspec 已被弃用。

有没有一种方法可以编写 Python 2 和 3 兼容的代码来检查参数?实际上,我只需要在运行时找出一个方法的参数数量。

最佳答案

编写 Python2/3 兼容导入有一个通用的解决方案

try:
from inspect import getfullargspec as get_args
except ImportError:
from inspect import getargspec as get_args

def foo(a, *args, **kwargs):
pass

print(get_args(foo))

# Python 3
# FullArgSpec(args=['a'], varargs='args', varkw='kwargs', defaults=None, kwonlyargs=[], kwonlydefaults=None, annotations={})

# Python 2
# ArgSpec(args=['a'], varargs='args', keywords='kwargs', defaults=None)

关于检查方法参数的 Python 2/3 兼容方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54999951/

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