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代码解决RenderView窗口not found问题
Aug 28 Python
Python实现树莓派WiFi断线自动重连的实例代码
Mar 16 Python
Tensorflow环境搭建的方法步骤
Feb 07 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
关于Tensorflow分布式并行策略
Feb 03 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
PYQT5 vscode联合操作qtdesigner的方法
Mar 24 Python
解决python运行启动报错问题
Jun 01 Python
python的launcher用法知识点总结
Aug 07 Python
Python中Yield的基本用法
Oct 18 Python
Python实现Excel自动分组合并单元格
Feb 22 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版微信小店API二次开发及使用示例
2016/11/12 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
php跨域调用json的例子
2013/11/13 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
Python迭代用法实例教程
2014/09/08 Python
python+mysql实现简单的web程序
2014/09/11 Python
Python快速排序算法实例分析
2017/11/29 Python
Python sublime安装及配置过程详解
2020/06/29 Python
德国高尔夫商店:Par71.de
2020/11/29 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
网络安全方面的面试题
2015/11/04 面试题
大学生自荐书范文
2013/12/10 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
学生检讨书如何写
2014/10/30 职场文书
演讲比赛主持词
2015/06/29 职场文书