Python中利用dir函数查看类中所有成员函数示例代码

橘子海
橘子海
发布时间:2026-10-13| 5人浏览过
原创

本文介绍如何使用Python内置的dir()函数查看类中所有成员函数及对象属性。通过定义基类A和派生类B的示例代码,展示dir()在获取类成员列表中的应用。dir()函数适用于任何对象,包括数据类型、模块等,无需记忆所有方法,只需传入对象即可获取其属性和方法列表,是Python开发中常用的调试和探索工具。

前言

当面对他人编写的类且缺乏帮助文档时,如何查看该类的所有成员函数?本文将详细介绍如何使用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内置方法众多,无论是初学者还是资深程序员都无法完全记住所有方法。此时,dir()函数显得尤为实用。使用dir()函数可以查看对象内所有的属性和方法。在Python中,万物皆对象,包括数据类型、模块等,它们都有自己的属性和方法。除了常用方法外,其他方法无需全部记忆,只需借助dir()函数即可获取。

dir()函数的使用方法

dir()函数的操作非常简单,只需将想要查询的对象填入括号中即可使用。

例如,如果你想查看列表有哪些方法,可以直接在括号中传入空列表对象[]或一个列表数据类型的变量名,如下操作:

>>>dir([ ])

或者

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


两种操作方法所得结果相同,都是查看列表有哪些操作方法和属性。如果你想查询字符串,只需将括号中的参数变量名或空字符串''传入即可。

总结

以上就是本文的全部内容,希望本文的内容对大家的学习或工作能带来一定的帮助。如有疑问,欢迎留言交流,感谢大家对本站的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。