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打开url并按指定块读取网页内容的方法
Apr 29 Python
Python NumPy库安装使用笔记
May 18 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Python中collections模块的基本使用教程
Dec 07 Python
Django框架自定义模型管理器与元选项用法分析
Jul 22 Python
python实现梯度下降法
Mar 24 Python
Django ModelForm组件原理及用法详解
Oct 12 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 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&&mysql)四
2006/10/09 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
详解写好JS条件语句的5条守则
2019/02/28 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
python模拟鼠标拖动操作的方法
2015/03/11 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
行政部主管岗位职责
2013/12/28 职场文书
支部鉴定材料
2014/06/02 职场文书
家长会标语
2014/06/24 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
Python字符串常规操作小结
2022/04/03 Python