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+selenium+autoit实现文件上传功能
Aug 23 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
python计算两个数的百分比方法
Jun 29 Python
python3.5基于TCP实现文件传输
Mar 20 Python
python发送告警邮件脚本
Sep 17 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
May 10 Python
python实现感知机线性分类模型示例代码
Jun 02 Python
Windows10下 python3.7 安装 facenet的教程
Sep 10 Python
使用python爬取抖音app视频的实例代码
Dec 01 Python
Python自动化之批量处理工作簿和工作表
Jun 03 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 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
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
Python help()函数用法详解
2014/03/11 Python
python控制台英汉汉英电子词典
2020/04/23 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
女儿十岁生日答谢词
2014/01/27 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
Python如何导出导入所有依赖包详解
2021/06/08 Python
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL