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