python怎么知道用哪个库使用-dir、help 查看python 库 对应的方法 和使用
在Python语言中,有些库在使用时,在网络上找到的文档不全,这就需要查看相应的Python对象是否包含需要的函数或常量。下面介绍一下,如何查看Python对象中包含哪些属性,如成员函数、变量等,其中这里的Python对象指的是类、模块、实例等包含元素比较多的对象。这里以OpenCV2的Python包cv2为例,进行说明。
由于OpenCV是采用C/C++语言实现,并没有把所有函数和变量打包,供Python用户调用,而且有时网络上也找不到相应文档;还有OpenCV还存在两个版本:OpenCV2和OpenCV3,这两个版本在所使用的函数和变量上,也有一些差别。
1. dir() 函数
dir([object]) 会返回object所有有效的属性列表。示例如下:
$ python
Python 2.7.8 (default, Sep 24 2015, 18:26:19)
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> mser = cv2.MSER()
>>> dir(mser)
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'detect', 'empty', 'getAlgorithm', 'getBool', 'getDouble', 'getInt', 'getMat', 'getMatVector', 'getParams', 'getString', 'paramHelp', 'paramType', 'setAlgorithm', 'setBool', 'setDouble', 'setInt', 'setMat', 'setMatVector', 'setString']
2. vars() 函数
vars([object]) 返回object对象的__dict__属性,其中object对象可以是模块,类,实例,或任何其他有__dict__属性的对象。所以,其与直接访问__dict__属性等价。示例如下(这里是反例,mser对象中没有__dict__属性):
>>> vars(mser)
Traceback (most recent call last):
File "", line 1, in
TypeError: vars() argument must have __dict__ attribute
>>> mser.__dict__
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'cv2.MSER' object has no attribute '__dict__'
3. help() 函数
help([object])调用内置帮助系统。输入
>>> help(mser)
显示内容,如下所示:
Help on MSER object:
class MSER(FeatureDetector)
| Method resolution order:
| MSER
| FeatureDetector
| Algorithm
| __builtin__.object
|
| Methods defined here:
|
| __repr__(...)
| x.__repr__() <==> repr(x)
|
| detect(...)
| detect(image[, mask]) -> msers
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ =
| T.__new__(S, ...) -> a new object with type S, a subtype of T
按h键,显示帮助信息; 按 q 键,退出。
4. type() 函数
type(object)返回对象object的类型。
>>> type(mser)
>>> type(mser.detect)
5. hasattr() 函数
hasattr(object, name)用来判断name(字符串类型)是否是object对象的属性,若是返回True,否则,返回False
>>> hasattr(mser, 'detect')
True
>>> hasattr(mser, 'compute')
False
6. callable() 函数
callable(object):若object对象是可调用的,则返回True,否则返回False。注意,即使返回True也可能调用失败,但返回False调用一定失败。
>>> callable(mser.detect)
True
参考资料
1. https://stackoverflow.com/questions/2675028/list-attributes-of-an-object
2. https://docs.python.org/2/library/functions.html
python怎么知道用哪个库使用-dir、help 查看python 库 对应的方法 和使用相关推荐
- 查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list 或者用 help('modules') 或者用 python -m ...
- 怎么看python是64位还是32位_怎样查看python是64位还是32位
怎样查看python是64位还是32位?下面给大家介绍三种方法: 方法一: 打开IDLE,看第一行提示,例如: 32位系统是这样的 Python 3.5.1 (v3.5.1:37a07cee5969, ...
- 爬虫python对电脑要求_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...
本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...
- python 使用dir() help() 查看一个对象所有拥有的方法和属性
可以使用python 的内置方法 dir() 或者help() 查看 某个对象所拥有的方法和属性, 二者间的区别是: dir() : 只是得到方法或者属性的名称 help():不但可以得到对象的方法和 ...
- 如何查看python是多少位的-请问一下该怎么查看python是32位还是64位?
潇湘沐 可使用IDLE或者CMD查看.方法一:打开IDLE,看第一行提示,例如:32位系统是这样的 Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01: ...
- python 查找函数所在模块和文件位置_查看python的模块和函数帮助文档方法
python的一个优势是有着大量自带和在线的模块(module)资源,可以提供丰富的功能,在使用这些模块的时候,如果每次都去网站找在线文档会过于耗费时间,结果也不一定准确.因此这里介绍下python自 ...
- python正则匹配找到所有的浮点数_如何利用Python抓取静态网站及其内部资源
遇到的需求 前段时间需要快速做个静态展示页面,要求是响应式和较美观.由于时间较短,自己动手写的话也有点麻烦,所以就打算上网找现成的. 中途找到了几个页面发现不错,然后就开始思考怎么把页面给下载下来. ...
- vim-python怎么用_如何在使用 Vim 时访问/查看 Python 帮助
我是一名新的 Vim 编辑器用户.我用它编写 Python 代码.有没有办法在 vim 中查看 Python 文档而无需访问互联网?假设我的光标在 Python 的 print 关键字下,然后按下 F ...
- vim-python怎么用_技术|如何在使用 Vim 时访问/查看 Python 帮助
我是一名新的 Vim 编辑器用户.我用它编写 Python 代码.有没有办法在 vim 中查看 Python 文档而无需访问互联网?假设我的光标在 Python 的 print 关键字下,然后按下 F ...
- 如何查看python有哪些内置函数_如何查看 Python 全部内置变量和内置函数?
查看python内置函数的方法:1.打开Python IDLE编辑器:2.输入" dir(__builtins__)"命令,按下回车键(Enter)得到Python全部内置变量和函 ...
最新文章
- html5开发桌面界面设计,HTML5触摸界面设计与开发
- UA MATH636 信息论9 Berlekamp-Welch算法
- Alpha 冲刺报告(3/10)
- 在Windows上编译最新版本的Hashcat
- JS ES6中的箭头函数(Arrow Functions)使用
- SQL每日学习——delete语句
- php lwm2m,理解COAP/LWM2M/MQTT协议和TCP/UDP协议的关系
- 狗猫分类数据集划分详解
- 还挺好看!用命令行画思维导图;66天机器学习之旅;斯坦福CS234 强化学习课程;哈佛CS50 计算机科学导论课程;前沿论文 | ShowMeAI资讯日报
- Mall谷粒商城(基础篇的开发)
- 陈丽莎计算机科学与技术专业,关于表彰我校成人高等学历教育2015届毕业生学习奖和优秀学生干部获奖者的通知...
- 计算机替换字体怎么操作,字体管家怎么换字体 电脑更换字体的教程介绍
- 获取头条小程序分享二维码
- 知道一点怎么设直线方程_已知两点坐标怎样求直线方程
- 数学建模 论文 各部分 写作指导 及 获奖技巧讲解【美赛MCM/ICM】
- QT5.9用自定义字体修改qlabel字体、大小以及颜色
- 1024共码未来(一览中华风华,API First)
- 微信小程序,几行代码实现图片瀑布流
- JavaScript 中 OnLoad事件用法总结
- mysql建表语句enum_mysql创建表语句格式