想象一下,我們有一個如下所示的類:
class P1(object):
def __init__(self,value=0,src='admin'):
self.value=value
self.src=src
是否可以添加一個方法,將名稱內部變數作為字典回傳,名稱作為名稱,值作為值,如下所示:
def getDict(self):
return dictionary(variables)
回傳:
{
'value':0,
'src':'admin'
}
PS 我知道它可以通過硬編碼來解決,我問是否有 Pythonic 方法可以通過一個方法呼叫來做到這一點。
uj5u.com熱心網友回復:
您正在尋找vars例如:
return vars(self)
輸出:
{'value': 0, 'src': 'admin'}
uj5u.com熱心網友回復:
您可以使用__dict__:
用于存盤物件(可寫)屬性的字典或其他映射物件。
def getDict(self):
return self.__dict__
或vars()builtin,它只回傳__dict__屬性:
return vars(self)
警告:請注意,這將回傳對實際命名空間的參考,您對字典所做的任何更改都將反映到實體中。
uj5u.com熱心網友回復:
是的,您可以使用魔術方法。如果沒有創建自己的方法,該方法回傳值和 src 的字典。您的代碼:
class P1(object):
def __init__(self,value=0,src='admin'):
self.value=value
self.src=src
def getdict(self):
return {"value":self.value,"src":self.src} #manual return of dict
x=P1(5,"user") #checking for non default values
print(x.getdict())
x=P1() #checking for default values
print(x.getdict())
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/339902.html
上一篇:如何將azure資料工廠字串型別變數轉換為日期時間格式
下一篇:def()中未定義變數
