Python實現(xiàn)把類當做字典來訪問
定義一個類將它實例化,我們可以通過obj.屬性來訪問類的屬性,如果想獲取類的所有實例變量,我們可以使用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)直接拿到類的所有實例變量,可以通過如下方式:
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方法能夠限制類的實例變量的輸出,用內(nèi)置的dict方法就能把類轉(zhuǎn)換成一個普通的字典了
以上這篇Python實現(xiàn)把類當做字典來訪問就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
通過Python OpenGL的point sprite技術(shù)繪制雪花
通常,點精靈(point sprite)技術(shù)被用于描述大量粒子在屏幕上的運動,自然也可以用于繪制雪花。本文將通過Python OpenGL繪制雪花,感興趣的可以動手試一試2022-02-02
關(guān)于tensorflow中tf.keras.models.Sequential()的用法
這篇文章主要介紹了關(guān)于tensorflow中tf.keras.models.Sequential()的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
python實現(xiàn)啟動一個外部程序,并且不阻塞當前進程
這篇文章主要介紹了python實現(xiàn)啟動一個外部程序,并且不阻塞當前進程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
詳解pandas庫pd.read_excel操作讀取excel文件參數(shù)整理與實例
這篇文章主要介紹了pandas庫pd.read_excel操作讀取excel文件參數(shù)整理與實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
python中plot實現(xiàn)即時數(shù)據(jù)動態(tài)顯示方法
這篇文章主要為大家詳細介紹了python中plot實現(xiàn)即時數(shù)據(jù)動態(tài)顯示方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程
這篇文章主要介紹了Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10

