这个问题在这里已有答案:
我是一个蟒蛇初学者,我目前正在努力解决一些(可能很简单)的问题。我想知道python函数的默认参数,更具体地说是cv2.ORB_create()
。
使用以下代码,我设法看到'文档字符串':
import cv2
orb = cv2.ORB_create()
print(cv2.ORB_create.__doc__)
然而,print(cv2.ORB_create.__defaults__)
只是给了我一个错误;
AttributeError: 'builtin_function_or_method' object has no attribute '__defaults__'
也许我错过了功能,模块等之间的联系,但我真的被卡住了......
由于提出这是一个重复的问题。我也试过inspect.signature
和扩展inspect.getargspec
,但这给了我另一个错误ValueError: no signature found for builtin <built-in function ORB_create>
。
cv2.ORB_create()
似乎是一个用Python扩展编写的函数(In C而不是Python)。因此,它不是“正常”的函数对象,并且无法可靠地查看默认值(因为它是在C中手动处理的)。
一种可能的解决方案是查看__text_signature__
属性,但这可能不可靠。见What are __signature__ and __text_signature__ used for in Python 3.4。