本文目錄一覽:
怎麼判斷 Python 對象是否包含某個屬性
頂級函數hasattr可以查看對象是否包含某某屬性,這裡的屬性包括數據屬性和方法。getattr可以獲取屬性。
如下舉例說明。
a=[1,2,3]
print(‘列表有count屬性:%s’%hasattr(a,’count’))
print(‘列表有append屬性:%s’%hasattr(a,’append’))
print(‘列表有shift屬性:%s’%hasattr(a,’shift’))
print(‘列表的count屬性是方法:%s’%hasattr(getattr(a,’count’),’__call__’))
print(‘列表的append屬性是方法:%s’%hasattr(getattr(a,’append’),’__call__’))
class myclass():
def __init__(self):
self.valattr=3
def method(self):
pass
mc=myclass()
print(‘myclass有valattr屬性:%s’%hasattr(mc,’valattr’))
print(‘myclass有method屬性:%s’%hasattr(mc,’method’))
print(‘myclass的valattr屬性是方法:%s’%hasattr(getattr(mc,’valattr’),’__call__’))
print(‘myclass的method屬性是方法:%s’%hasattr(getattr(mc,’method’),’__call__’))
Python基礎之查看Python庫、函數和模塊
1.dir函數式可以查看對象的屬性
使用方法很簡單,舉os類型為例,在Python命令窗口輸入 dir(『os』) 即可查看os模塊的屬性
打開cmd命令窗口:
2.如何查看對象某個屬性的幫助文檔:兩種方法如下:
3.如何查看某個對象的詳細:
3.如何查看某個對象的函數:
python怎麼判斷一個對象的屬性
方法一:通過異常捕捉來實現邏輯
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class FooClass:
pass
k = FooClass()
try:
#do some thing you need
print k.att
except AttributeError as e:
#error: has not attribute
pass
方法二:調用hasattr方法
hasattr(object, name)
說明:判斷對象object是否包含名為name的特性(hasattr是通過調用getattr(ojbect, name)是否拋出異常來實現的)。
參數object:對象。
參數name:特性名稱。
hasattr(list, ‘append’)
True
hasattr(list, ‘add’)
False
方法三:使用dir方法
objlist = dir(k)
if ‘att’ in objlist:
#do some thing you need
print k.att
else:
#error: has not attribute
pass
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/290854.html