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使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
Python_LDA实现方法详解
Oct 25 Python
windows 下python+numpy安装实用教程
Dec 23 Python
Django给admin添加Action的步骤详解
May 01 Python
Python3.0 实现决策树算法的流程
Aug 08 Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
设置jupyter中DataFrame的显示限制方式
Apr 12 Python
Python3爬虫中关于中文分词的详解
Jul 29 Python
python单元测试之pytest的使用
Jun 07 Python
图文详解matlab原始处理图像几何变换
Jul 09 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生成带有雪花背景的验证码
2008/09/28 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
php中return的用法实例分析
2015/02/28 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
javascript判断office版本示例
2014/04/11 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
[01:46]新英雄登场
2019/09/10 DOTA
python实现定时播放mp3
2015/03/29 Python
详解python的ORM中Pony用法
2018/02/09 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
会计专业个人求职信范文
2014/01/08 职场文书
40岁生日感言
2014/02/15 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang