在python中知道函数输入参数的长度

2024-10-03 13:31:03 发布

您现在位置:Python中文网/ 问答频道 /正文

假设现在我有一个函数:

def func(x, p): return p[0] * x ** 2 + p[1] * x + p[2]

现在,我可以使用inspect获得有关函数的信息:

import inspect
args, varargs, varkw, defaults = inspect.getargspec(func)

但我只知道我有两个参数,而不是每个参数的信息(无论是标量还是其他)。你知道吗

只是确定-理论上,有没有什么方法可以让我知道函数中使用的元组p的最小长度?你知道吗

谢谢你!你知道吗


Tags: 函数import信息参数returndefargs理论
2条回答

不能强制传递给函数的参数的类型或值。你知道吗

唯一可以做的就是在python3:annotations中注释函数,但即使这样也不能阻止用户传递无效的内容。你知道吗

注意:实际上,您可以通过直接在函数中检查或使用装饰器来执行,但这对您的情况没有帮助。

答案是否定的

首先,不能假定类型(更不用说参数的大小)。你知道吗

其次,无法判断长度,因为它应该是任意的,而且函数可能对输入没有任何作用。你知道吗

如果您确实想要类似的东西,请尝试使用*l作为可变长度参数。类似地,对于任意映射(命名参数)也有**d。你知道吗

相关问题 更多 >