假设现在我有一个函数:
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:
不能强制传递给函数的参数的类型或值。你知道吗
唯一可以做的就是在python3:annotations中注释函数,但即使这样也不能阻止用户传递无效的内容。你知道吗
注意:实际上,您可以通过直接在函数中检查或使用装饰器来执行,但这对您的情况没有帮助。
答案是否定的
首先,不能假定类型(更不用说参数的大小)。你知道吗
其次,无法判断长度,因为它应该是任意的,而且函数可能对输入没有任何作用。你知道吗
如果您确实想要类似的东西,请尝试使用*l作为可变长度参数。类似地,对于任意映射(命名参数)也有**d。你知道吗
相关问题 更多 >
编程相关推荐