溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中查看對象屬性的方法

發(fā)布時間:2020-08-13 14:38:18 來源:億速云 閱讀:217 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關python中查看對象屬性的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

在Python語言中,有些庫在使用時,在網絡上找到的文檔不全,這就需要查看相應的Python對象是否包含需要的函數(shù)或常量。下面介紹一下,如何查看Python對象中包含哪些屬性,如成員函數(shù)、變量等,其中這里的Python對象指的是類、模塊、實例等包含元素比較多的對象。這里以OpenCV2的Python包cv2為例,進行說明。
由于OpenCV是采用C/C++語言實現(xiàn),并沒有把所有函數(shù)和變量打包,供Python用戶調用,而且有時網絡上也找不到相應文檔;還有OpenCV還存在兩個版本:OpenCV2和OpenCV3,這兩個版本在所使用的函數(shù)和變量上,也有一些差別。

1.dir() 函數(shù)

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() 函數(shù)

vars([object]) 返回object對象的__dict__屬性,其中object對象可以是模塊,類,實例,或任何其他有__dict__屬性的對象。所以,其與直接訪問__dict__屬性等價。示例如下(這里是反例,mser對象中沒有__dict__屬性)。

3. help() 函數(shù)

help([object])調用內置幫助系統(tǒng)。輸入

>>> help(mser)

4. type() 函數(shù)

type(object)返回對象object的類型。

5. hasattr() 函數(shù)

hasattr(object, name)用來判斷name(字符串類型)是否是object對象的屬性,若是返回True,否則,返回False。

6. callable() 函數(shù)

callable(object):若object對象是可調用的,則返回True,否則返回False。注意,即使返回True也可能調用失敗,但返回False調用一定失敗。

感謝各位的閱讀!關于python中查看對象屬性的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI