python如何查看对象的属性
在Python语言中,有些库在使用时,在网络上找到的文档不全,这就需要查看相应的Python对象是否包含需要的函数或常量。下面介绍
一下,如何查看Python对象中包含哪些属性,如成员函数、变量等,其中这里的Python对象指的是类、模块、实例等包含元素比较多的
对象。这里以OpenCV2的Python包cv2为例,进行说明。
1. dir() 函数
dir([object]) 会返回object所有有效的属性列表。示例如下:
$python Python2.7.8(default,Sep242015,18:26:19) [GCC4.9.220150212(RedHat4.9.2-6)]onlinux2 Type"help","copyright","credits"or"license"formoreinformation. >>>importcv2 >>>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(mostrecentcalllast): File"<stdin>",line1,in<module> TypeError:vars()argumentmusthave__dict__attribute >>>mser.__dict__ Traceback(mostrecentcalllast): File"<stdin>",line1,in<module> AttributeError:'cv2.MSER'objecthasnoattribute'__dict__'
3. help() 函数
help([object])调用内置帮助系统。输入
>>>help(mser)
显示内容,如下所示:
HelponMSERobject: classMSER(FeatureDetector) |Methodresolutionorder: |MSER |FeatureDetector |Algorithm |__builtin__.object | |Methodsdefinedhere: | |__repr__(...) |x.__repr__()<==>repr(x) | |detect(...) |detect(image[,mask])->msers | |---------------------------------------------------------------------- |Dataandotherattributesdefinedhere: | |__new__=<built-inmethod__new__oftypeobject> |T.__new__(S,...)->anewobjectwithtypeS,asubtypeofT
更多技术请关注Python视频教程。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.