ype*_*per 5 python python-2.7 python-3.x
在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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
120 次 |
最近记录: |