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获取各操作系统硬件信息的方法
Jun 03 Python
Python实现希尔排序算法的原理与用法实例分析
Nov 23 Python
使用Python读取大文件的方法
Feb 11 Python
python 识别图片中的文字信息方法
May 10 Python
Python中的 enum 模块源码详析
Jan 09 Python
自学python的建议和周期预算
Jan 30 Python
Python中的类与类型示例详解
Jul 10 Python
Python简单处理坐标排序问题示例
Jul 11 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
Python自动化测试笔试面试题精选
Mar 12 Python
python 读取.nii格式图像实例
Jul 01 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
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
JSONP 跨域共享信息
2012/08/16 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
JS完成画圆圈的小球
2017/03/07 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python入门篇之数字
2014/10/20 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
python如何为创建大量实例节省内存
2018/03/20 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
《与朱元思书》的教学反思
2014/04/17 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
关于迟到的检讨书
2015/05/06 职场文书
关于分班的感言
2015/08/04 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
python基础之while循环语句的使用
2021/04/20 Python
golang 实用库gotable的具体使用
2021/07/01 Golang
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python
SQL Server 中的事务介绍
2022/05/20 SQL Server