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

