gpt4 book ai didi

python - 计算函数签名中的位置参数

转载 作者:太空狗 更新时间:2023-10-30 02:35:49 31 4
gpt4 key购买 nike

我有以下函数签名:

# my signature
def myfunction(x, s, c=None, d=None):
# some irrelevant function body

我需要位置参数的数量。如何返回位置参数 (x & s) 的数量 (2)。关键字参数的数量无关紧要。

最佳答案

可以得到所有参数的个数(使用f.__code__.co_argcount),关键字参数的个数(使用f.__defaults__),然后减去后者从一开始:

def myfunction(x, s, c=None, d=None):
pass

all_args = myfunction.__code__.co_argcount

if myfunction.__defaults__ is not None: # in case there are no kwargs
kwargs = len(myfunction.__defaults__)
else:
kwargs = 0

print(all_args - kwargs)

输出:

2

来自Docs :

__defaults__: A tuple containing default argument values for those arguments that have defaults, or None if no arguments have a default value.

和:

co_argcount is the number of positional arguments (including arguments with default values);

关于python - 计算函数签名中的位置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57885922/

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