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系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
理解Python中的With语句
Mar 18 Python
用Python解决计数原理问题的方法
Aug 04 Python
Python如何实现守护进程的方法示例
Feb 08 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 Python
Python字典的概念及常见应用实例详解
Oct 30 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
Python unittest框架操作实例解析
Apr 13 Python
Python eval函数原理及用法解析
Nov 14 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 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 csv操作类代码
2009/12/14 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
用户注册常用javascript代码
2009/08/29 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
javascript中Object使用详解
2015/01/26 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
跟老齐学Python之模块的加载
2014/10/24 Python
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
初二政治教学反思
2014/01/12 职场文书
三年级数学教学反思
2014/01/31 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
php+laravel 扫码二维码签到功能
2021/05/15 PHP
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python