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 05 Python
python中常用的各种数据库操作模块和连接实例
May 29 Python
Python入门篇之文件
Oct 20 Python
python字符串string的内置方法实例详解
May 14 Python
django 自定义过滤器的实现
Feb 26 Python
Python面向对象之类和实例用法分析
Jun 08 Python
Django模板Templates使用方法详解
Jul 19 Python
Python for循环搭配else常见问题解决
Feb 11 Python
如何使用Python抓取网页tag操作
Feb 14 Python
python计算波峰波谷值的方法(极值点)
Feb 18 Python
python json.dumps中文乱码问题解决
Apr 01 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 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在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
php报错502badgateway解决方法
2019/10/11 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
php中给js数组赋值方法
2014/03/10 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
小学生环保演讲稿
2014/04/25 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL