重複の可能性:
関数の引数を「self」に代入
多くの場合、次のようなコンストラクタがあります。
class Foo(object):
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
このようなコンストラクタをエンコードする便利な方法があるかどうか疑問に思っていました。おそらく次のようになります。
class Foo(object):
SOME_MACRO_LIKE_THINGY_THAT_SPECIFIES_THE_CONSTRUCTOR(a,b,c)
上記の元のコードとまったく同じように動作します。
元のバージョンで私を悩ませているのは、Foo の各インスタンス変数を 3 回 (引数として 1 回、self.a として 1 回、self.a に割り当てる値として 2 回) 書き込まなければならないことです。
大したことではないと思いますが、繰り返しが少ないほどコードがきれいに見えると思います。
この状況を処理するPythonicの方法は何ですか?