Python實(shí)現(xiàn)把類當(dāng)做字典來訪問
定義一個類將它實(shí)例化,我們可以通過obj.屬性來訪問類的屬性,如果想獲取類的所有實(shí)例變量,我們可以使用obj.__dict__來訪問,如下:
class A:
def __init__(self):
self.a = 1
self.b = 2
a = A()
print(a.__dict__)
# {'a': 1, 'b': 2}
#獲取變量a:
print(a.__dict__['a'])
# 1
如果我們想直接通過字典的方式訪問類,obj=A(),dict(obj)直接拿到類的所有實(shí)例變量,可以通過如下方式:
class A:
def __init__(self):
self.a = 1
self.b = 2
def keys(self):
return ('a','b',)
def __getitem__(self, item):
return getattr(self, item)
a = A()
print(dict(a))
#輸出:{'a': 1, 'b': 2}
可以看到,通過定義keys方法能夠限制類的實(shí)例變量的輸出,用內(nèi)置的dict方法就能把類轉(zhuǎn)換成一個普通的字典了
以上這篇Python實(shí)現(xiàn)把類當(dāng)做字典來訪問就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
matplotlib 使用 plt.savefig() 輸出圖片去除旁邊的空白區(qū)域
這篇文章主要介紹了matplotlib 使用 plt.savefig() 輸出圖片去除旁邊的空白區(qū)域,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
詳解Python如何使用PyBuilder從零開始構(gòu)建項(xiàng)目
PyBuilder是一個用于構(gòu)建Python項(xiàng)目的工具,它提供了一種簡單而強(qiáng)大的方式來管理項(xiàng)目的依賴、運(yùn)行測試、生成文檔等任務(wù),下面就跟隨小編一起來學(xué)習(xí)一下如何使用PyBuilder構(gòu)建項(xiàng)目吧2024-03-03
用Python和MD5實(shí)現(xiàn)網(wǎng)站掛馬檢測程序
系統(tǒng)管理員通常從svn/git中檢索代碼,部署站點(diǎn)后通常首先會生成該站點(diǎn)所有文件的MD5值,如果上線后網(wǎng)站頁面內(nèi)容被篡改(如掛馬)等,可以比對之前生成MD5值快速查找去那些文件被更改,為了使系統(tǒng)管理員第一時間發(fā)現(xiàn),可結(jié)合crontab或nagios等工具2014-03-03
python中pytest收集用例規(guī)則與運(yùn)行指定用例詳解
這篇文章主要介紹了python中pytest收集用例規(guī)則與運(yùn)行指定用例詳解,天會講解一下pytest是如何收集我們寫好的用例?我們又有哪些方式來運(yùn)行單個用例或者批量運(yùn)行用例呢,需要的朋友可以參考下2019-06-06
Django中多用戶角色和權(quán)限管理的實(shí)現(xiàn)步驟
定義用戶角色模型:首先,定義一個用戶角色模型,該模型表示不同的用戶角色,例如管理員、普通用戶、編輯等,這篇文章主要介紹了Django中多用戶角色和權(quán)限管理的實(shí)現(xiàn)步驟,需要的朋友可以參考下2024-05-05
在django中查詢獲取數(shù)據(jù),get, filter,all(),values()操作
這篇文章主要介紹了在django中查詢獲取數(shù)據(jù),get, filter,all(),values()操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Django配置kafka消息隊(duì)列的實(shí)現(xiàn)
本文主要介紹了Django配置kafka消息隊(duì)列的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
天翼開放平臺免費(fèi)短信驗(yàn)證碼接口使用實(shí)例
天翼開放平臺提供了一個免費(fèi)的短信驗(yàn)證碼API,下面看看使用方法吧,我們用python開發(fā)接口2013-12-12

