gpt4 book ai didi

python - 如何在 Python 的另一个函数中找出特定函数参数的默认值?

转载 作者:太空狗 更新时间:2023-10-29 20:39:09 28 4
gpt4 key购买 nike

假设我们有这样一个函数:

def myFunction(arg1='a default value'):
pass

我们可以使用内省(introspection)来找出 myFunction() 使用 myFunction.func_code.co_varnames 获取的参数的名称,但是如何找出默认值arg1(上例中的'默认值')?

最佳答案

作为根植于函数属性的替代方法,您可以使用 inspect 模块以获得稍微友好的界面:

对于 Python 3.x 解释器:

import inspect
spec = inspect.getfullargspec(myFunction)

那么spec就是一个FullArgSpec对象,具有argsdefaults等属性:

FullArgSpec(args=['arg1'], varargs=None, varkw=None, defaults=('a default value',), kwonlyargs=[], kwonlydefaults=None, annotations={})

其中一些属性在 Python 2 上不可用,因此如果您必须使用旧版本 inspect.getargspec(myFunction) 将为您提供类似的值,但不具备 Python 3 功能( getargspec 也适用于 Python 3,但自 Python 3.0 以来已被弃用,因此不要使用它):

import inspect
spec = inspect.getargspec(myFunction)

那么spec就是一个ArgSpec对象,具有argsdefaults等属性:

ArgSpec(args=['arg1'], varargs=None, keywords=None, defaults=('a default value',))

关于python - 如何在 Python 的另一个函数中找出特定函数参数的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4859993/

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