如何检索/了解函数的默认值

时间:2017-12-26 11:48:40

标签: python function default-value

我是一个蟒蛇初学者,我目前正在努力解决一些(可能非常简单)的问题。我想知道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.signatureinspect.getargspec扩展,但这又给了我一个错误ValueError: no signature found for builtin <built-in function ORB_create>

1 个答案:

答案 0 :(得分:0)

cv2.ORB_create()似乎是用Python扩展编写的函数(在C而不是Python中)。因此,它不是正常的&#34;函数对象,并且无法可靠地查看默认值(因为它是在C中手动处理的。)

一种可能的解决方案是查看__text_signature__属性,但这可能不可靠。请参阅What are __signature__ and __text_signature__ used for in Python 3.4