コンテキストの詳細と、なぜ私が気にするのか...
これをしても大丈夫ですか:
class IsThisOk(object):
def __init__( self, **kwargs ):
for k in kwargs:
setattr( self, k, kwargs[k] )
obj = IsThisOk( apples=2 , oranges=2 )
私はいつも次のようにアプローチしてきたからです:
class OptionB(object):
apples = None
oranges = None
"""class defaults"""
def __init__( self, **kwargs ):
for k in kwargs:
setattr(self,k,kwargs[k])
b = OptionB( apples=2 , oranges=2 )
=====
編集 :
私はもともとこれを上記に持っていましたが、これは私が持つべきではないものです...
class OptionA(object):
"""set self.k but with class defaults"""
apples = None
oranges = None
def __init__( self, **kwargs ):
for k in kwargs:
self.k = kwargs[k]
a = OptionA( apples=2 , oranges=2 )
これはすべて、いくつかのコードを最適化しようとしていることが原因です。
また、次のことにも注意しました::
for k in kwargs:
setattr( self, k, kwargs[k] )
よりも少し速い
for k,v in kwargs.iteritems():
setattr( self, k, v )