2017-12-26 3 views
1

저는 파이썬 초보자이며 현재 (아마도 아주 간단합니다) 몇 가지 문제로 고민하고 있습니다. 파이썬 함수의 기본 매개 변수를 알고 싶습니다. 구체적으로는 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>을 알려줍니다.

+0

죄송합니다. 'inspect.signature' 및 확장자로'inspect.getargspec'도 실패했습니다. 그래서 다른 대답은 나를 돕지 못합니다. – user73202

답변

0

cv2.ORB_create()은 Python 확장 (Python 대신 C)으로 작성된 함수 인 것 같습니다. 따라서 "정상적인"함수 객체가 아니며 C에서 수동으로 처리되므로 기본값을 안정적으로 볼 수있는 방법이 없습니다.

한 가지 가능한 해결책은 __text_signature__ 속성을 살펴 보는 것이지만 이는 신뢰할 수 없습니다. What are __signature__ and __text_signature__ used for in Python 3.4을 참조하십시오.

+0

감사합니다. 내 문제를 설명합니다. Unfortunatelly,'__text_signature__'는 None을 반환합니다. 그러나 나는 너를 더 자세히 보게 될 것이다. – user73202

관련 문제