最近、私はpythonでoopを使い始めました。私は開始された属性の一般的なgetメソッドまたはsetメソッドを記述したいと思います。たとえば、いくつかの属性とそれに対応するgetメソッドを持つSongクラスがあります。私は複数のif文を避けたいと思います。 2つの属性を使用するだけで問題はありませんが、5つ以上の属性があると、コードを読みにくくなります。すべての可能なケースを定義することなく、のinitから値を取得するためにargsに文字列を使用できますか?クラスの一般的な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)
これが可能な場合は、何も見つかりませんでした。これどうやってするの?
なぜこれをやりたいのか分かりません。なぜメソッドが必要なのですか? –
'return {attr:getattr(self、attr)for attr for args}' ... ...? – deceze
@Daniel Roseman:直接的にattritubesにアクセスする必要がないように、Python構文に精通していない同僚のための関数を提供すること。プロットなどのため。 – Paprika