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


Posted in Python onSeptember 08, 2017

前言

如果一个类是别人编写的,又没有帮助文档,怎么样来查看所有成员函数呢?本文详细给大家介绍了关于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利用dir函数查看类中所有成员函数示例代码

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

总结

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

Python 相关文章推荐
python多线程编程中的join函数使用心得
Sep 02 Python
python实现文件路径和url相互转换的方法
Jul 06 Python
Python中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
通过实例解析python描述符原理作用
Jan 22 Python
python剪切视频与合并视频的实现
Mar 03 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
python怎么自定义捕获错误
Jun 29 Python
详解Anaconda 的安装教程
Sep 23 Python
python调用摄像头的示例代码
Sep 28 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 #Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 #Python
python中实现指定时间调用函数示例代码
Sep 08 #Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
Sep 08 #Python
python中实现延时回调普通函数示例代码
Sep 08 #Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 #Python
老生常谈Python startswith()函数与endswith函数
Sep 08 #Python
You might like
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
php文件缓存方法总结
2016/03/16 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python利用命名空间解析XML文档
2020/08/10 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
大学生求职中的自我评价
2013/10/01 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
出国留学自荐信模板
2015/03/06 职场文书
企业承诺书格式范文
2015/04/28 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
导游词之太湖
2019/10/08 职场文书
MySQL基础(二)
2021/04/05 MySQL
create-react-app开发常用配置教程
2022/06/25 Javascript