Home  >  Article  >  Backend Development  >  Introduction to how Python uses the dir function to view all members of a class

Introduction to how Python uses the dir function to view all members of a class

巴扎黑
巴扎黑Original
2017-09-09 10:22:213389browse

This article mainly introduces to you the relevant information about how Python uses the dir function to view all member functions in a class. The article introduces it in detail through the example code. It has certain reference learning value for everyone to learn or use Python. It is needed Friends, please follow the editor to learn together.

Preface

If a class is written by someone else and there is no help document, how to view all member functions? This article introduces you in detail about using the dir function in Python to view all member functions in a class. I won’t say much below, let’s take a look at the detailed introduction.

You can use the following code:


# 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))

The output result is as follows:


>>> 
==== 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']
>>>

In this example, output the member functions of base class A and output the member functions of derived class B.

dir() built-in function function

There are many built-in methods in python, and both beginners and experienced python programmers cannot remember them all. There are methods, and the dir() function is very useful at this time. You can use the dir() function to view all the attributes and methods in the object. In python, everything is an object, a data type, a module, etc., and has its own attributes and methods. In addition to common methods, you can You don't need to remember it all, just leave it to the dir() function.

dir() function usage method

dir() function operation method is very simple, just put the query you want and The object can be used by adding it to ( ) brackets.

For example, if you want to see what methods are available in a list, you can directly pass in an empty list object [ ] or a variable name of a list data type in ( ), as follows:


>>>dir([ ])

or


x = ['a','b']
>>>dir(x)


The results obtained by the two operation methods are the same, both of which are to check the operation methods and attributes of the list. If you want to check a string, just put the parameter variable name in () or the empty string ' '.

The above is the detailed content of Introduction to how Python uses the dir function to view all members of a class. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn