1
最近我開始在python中使用oop。我想爲啓動的屬性編寫一個通用的get或set方法。例如,有一個具有多個屬性的類Song和一個相應的get方法。我想避免多個if語句。只有兩個屬性並不重要,但如果有> 5個屬性,代碼將難以閱讀。在沒有定義所有可能的情況下,是否可以在參數中使用字符串來獲取初始值的值?如何爲一個類編寫一般的get方法?
class Song(object):
def __init__(self,title,prod):
self.title = title
self.prod = prod
def getParam(self,*args):
retPar = dict()
if 'title' in args:
print(self.title)
retPar['title'] = self.title
if 'prod' in args:
print(self.prod)
retPar['prod'] = self.prod
return(retPar)
我不確定,如果這是可能的,因爲我找不到任何東西。我怎樣才能做到這一點?
我不知道你爲什麼想這樣做。爲什麼你需要一種方法? –
'返回{attr:getattr(self,attr)attr in args}'...? – deceze
@Daniel Roseman:爲不熟悉python語法的同事提供一個函數,使他們不必直接訪問attritubes。爲繪圖和這樣的事情。 – Paprika