如何检索/知道函数的默认值[重复]

问题描述 投票:1回答:1

我是一个蟒蛇初学者,我目前正在努力解决一些(可能很简单)的问题。我想知道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>

python function default-value
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.