>백엔드 개발 >파이썬 튜토리얼 >Python 클래스에서 메서드 목록을 검색하는 방법은 무엇입니까?

Python 클래스에서 메서드 목록을 검색하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-02 20:22:30428검색

How to Retrieve a List of Methods in a Python Class?

Python 클래스에서 메서드 목록 검색

개요

Python 클래스에서 메서드 목록을 검색하면 다음을 기반으로 유연한 개체 조작이 가능합니다. 사용 가능한 메소드.

해결책

클래스의 메소드 목록을 얻으려면 검사 모듈의 getmembers 함수를 활용하십시오.

<code class="python">import inspect

methods_list = inspect.getmembers(Class, predicate=inspect.ismethod)</code>

여기서 Class는 대상 클래스를 나타냅니다.

Python 2와 Python 3

getmembers는 Python 버전에 따라 다른 결과를 반환합니다.

Python 2: 튜플 목록을 반환합니다. [(method_name, unbound_method_object), ...]

Python 3: 메서드 개체 목록을 반환합니다: [unbound_method_object, ...]

매개변수

getmembers 함수는 다음 매개변수를 사용할 수 있습니다.

  • predicate: 반환된 멤버를 필터링하는 함수입니다. 조건자를 통과한 멤버만 결과에 포함됩니다.
  • instance: 검사할 클래스의 인스턴스입니다. 제공되지 않은 경우 클래스 메서드를 검사합니다.

opparse에서 OptionParser 클래스의 메서드를 나열하려면:

<code class="python">from optparse import OptionParser
import inspect

print(inspect.getmembers(OptionParser, predicate=inspect.ismethod))</code>

출력:

[('__init__', <unbound method OptionParser.__init__>),
 ('add_option', <unbound method OptionParser.add_option>),
 ('add_option_group', <unbound method OptionParser.add_option_group>),
 ...]

위 내용은 Python 클래스에서 메서드 목록을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.