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

 更新时间:2017年09月08日 11:52:25   作者:caimouse  
这篇文章主要给大家介绍了关于python如何利用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内置方法有很多,无论是初学还是经通python的程序员都不能全部记住所有方法,这时候dir()函数就非常有用了。使用dir()函数可以查看对像内所有属于及方法,在python中任何东西都是对像,一种数据类型,一个模块等,都有自己的属性和方法,除了常用方法外,其它的你不需要全部记住它,交给dir()函数就好了。

dir()函数使用方法

dir()函数操作方法很简单,只需要把你想要查询和对像添写到( )括号中就可以使用了。

例如你想查看列表都有哪些方法,你可以在( )中直接传入空列表对像[ ]或是一个列表数据类型的变量名,像下边这样操作:

>>>dir([ ])


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


两种操作方法所得结果一样,都是查看列表都有哪些操作方法及属性的。如果你想查字符串,只要把()中的参数变量名或空字符串' '就可以了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • python 实现批量替换文本中的某部分内容

    python 实现批量替换文本中的某部分内容

    今天小编就为大家分享一篇python 实现批量替换文本中的某部分内容,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python报错TypeError: ‘dict‘ object is not iterable的解决方法

    Python报错TypeError: ‘dict‘ object is not&

    在Python开发的旅程中,报错信息就像是一个个路障,阻碍着我们前进的步伐,而“TypeError: ‘dict’ object is not iterable”这个报错,常常让开发者们陷入困惑,那么,这个报错究竟是怎么产生的呢?又该如何有效地解决它呢?让我们一起深入探讨,找到解决问题的方法
    2024-10-10
  • python3基于TCP实现CS架构文件传输

    python3基于TCP实现CS架构文件传输

    这篇文章主要为大家详细介绍了python3基于TCP实现CS架构文件传输,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • python time模块定时器由浅入深应用实例

    python time模块定时器由浅入深应用实例

    Python提供了多种实现定时任务的方法,从简单到复杂,包括使用标准库time模块的基础定时,threading或asyncio模块的多线程/异步定时,以及第三方库如APScheduler的高级定时任务调度
    2024-01-01
  • Python常见的函数及格式化输出

    Python常见的函数及格式化输出

    这篇文章主要介绍了Python常见的upper()、lower()、title()等函数,感兴趣的朋友可以一起来学习学习文章内容
    2021-09-09
  • Python开发工具Pycharm的安装以及使用步骤总结

    Python开发工具Pycharm的安装以及使用步骤总结

    今天给大家带来的是关于Python开发工具的安装以及使用的相关知识,文章围绕着如何使用和安装Pycharm展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • 基于python神经卷积网络的人脸识别

    基于python神经卷积网络的人脸识别

    这篇文章主要为大家详细介绍了基于python神经卷积网络的人脸识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • python读取文件名并改名字的实例

    python读取文件名并改名字的实例

    今天小编就为大家分享一篇python读取文件名并改名字的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python 3.9的到来到底是意味着什么

    Python 3.9的到来到底是意味着什么

    本文主要介绍Python3.9的一些新特性比如说更快速的进程释放,性能的提升,简便的新字符串函数,字典并集运算符以及更兼容稳定的内部API,感兴趣的朋友跟随小编一起看看吧
    2020-10-10
  • python利用opencv如何实现答题卡自动判卷

    python利用opencv如何实现答题卡自动判卷

    由于工作需要,最近在研究关于如何通过程序识别答题卡的客观题的答案,所以下面这篇文章主要介绍了python利用opencv如何实现答题卡自动判卷的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论