>  기사  >  백엔드 개발  >  Python이 dir 함수를 사용하여 클래스의 모든 멤버를 보는 방법 소개

Python이 dir 함수를 사용하여 클래스의 모든 멤버를 보는 방법 소개

巴扎黑
巴扎黑원래의
2017-09-09 10:22:213352검색

이 글에서는 Python이 dir 함수를 사용하여 클래스의 모든 멤버 함수를 보는 방법에 대한 관련 정보를 주로 소개합니다. 예제 코드를 통해 자세히 소개합니다. 누구나 Python을 배우고 사용할 수 있는 확실한 참고 학습 가치가 있습니다. 필요한 친구들 에디터를 따라가며 함께 배워봐요.

Preface

클래스를 다른 사람이 작성했는데 도움말 문서가 없는 경우 모든 멤버 기능을 어떻게 볼 수 있나요? 이 기사에서는 Python에서 dir 함수를 사용하여 클래스의 모든 멤버 함수를 보는 방법을 자세히 소개합니다. 아래에서는 자세한 내용을 다루지 않고 자세한 소개를 살펴보겠습니다.

다음 코드를 사용할 수 있습니다.


# File: builtin-dir-example-2.py 
 
class A: 
 def a(self): 
  pass 
 def b(self): 
  pass 
 
class B(A): 
 def c(self): 
  pass 
 def d(self): 
  pass 
 
def getmembers(klass, members=None): 
 # get a list of all class members, ordered by class 
 if members is None: 
  members = [] 
 for k in klass.__bases__: 
  getmembers(k, members) 
 for m in dir(klass): 
  if m not in members: 
   members.append(m) 
 return members 
 
print('A=> :', getmembers(A)) 
print() 
print('B=> :', getmembers(B)) 
print() 
print('IOError=> :', getmembers(IOError))

출력은 다음과 같습니다.


>>> 
==== RESTART: D:/work/csdn/python_Game1/example/builtin-dir-example-2.py ====
A=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b']


B=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b', 'c', 'd']


IOError=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__cause__', '__context__', '__dict__', '__setstate__', '__suppress_context__', '__traceback__', 'args', 'with_traceback', 'characters_written', 'errno', 'filename', 'filename2', 'strerror', 'winerror']
>>>

이 예에서는 기본 클래스 A의 멤버 함수를 출력하고 멤버를 출력합니다. 파생 클래스 B 함수.

dir() 내장 함수

Python에는 많은 내장 메서드가 있습니다. 초보자이든 숙련된 Python 프로그래머이든 현재로서는 모든 메서드를 기억할 수 없습니다. ) 기능은 매우 유용합니다. dir() 함수를 사용하면 객체의 모든 속성과 메소드를 볼 수 있습니다. Python에서는 모든 것이 객체, 데이터 유형, 모듈 등이며 각각에는 공통 메소드 외에도 고유한 속성과 메소드가 있습니다. , 할 수 있습니다. 모두 기억할 필요는 없으며 dir() 함수에 맡기면 됩니다.

dir() 함수 사용법

dir() 함수 운용 방법은 매우 간단합니다. ( ) 괄호 안에 원하는 쿼리와 객체를 추가하면 됩니다.

예를 들어 목록의 메소드를 보려면 다음과 같이 빈 목록 개체 [ ] 또는 목록 데이터 유형의 변수 이름을 ( )에 직접 전달할 수 있습니다.
또는


>>>dir([ ])


두 가지 연산 방식 모두 결과는 동일하며 둘 다 리스트의 연산 방식과 속성을 확인하는 것입니다. 문자열을 확인하려면 () 안에 매개변수 변수명을 넣거나 빈 문자열 ' '을 넣으면 됩니다.

위 내용은 Python이 dir 함수를 사용하여 클래스의 모든 멤버를 보는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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