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实现将英文单词表示的数字转换成阿拉伯数字的方法
Jul 02 Python
利用python如何处理百万条数据(适用java新手)
Jun 06 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
Python数据集切分实例
Dec 08 Python
python解析含有重复key的json方法
Jan 22 Python
python SQLAlchemy的Mapping与Declarative详解
Jul 04 Python
python使用writerows写csv文件产生多余空行的处理方法
Aug 01 Python
django基础学习之send_mail功能
Aug 07 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
pandas实现将日期转换成timestamp
Dec 07 Python
Django mysqlclient安装和使用详解
Sep 17 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
jquery select下拉框操作的一些说明
2010/04/02 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
Django model.py表单设置默认值允许为空的操作
2020/05/19 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
最经典的商业地产项目广告词
2014/03/13 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
新闻编辑求职信
2014/07/13 职场文书
甘南现象心得体会
2014/09/11 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
四则混合运算教学反思
2016/02/23 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server