Python クラスには、initと呼ばれる初期化メソッドがあります。多くの場合、初期化子は、同名の属性にコピーされるいくつかの引数を受け入れます。
def __init__(self, a, b, c, d):
self.a = a
self.b = b
self.c = c
self.d = d
これは大変な作業であり、私には「非 Pythonic」に感じられます。プロセスを自動化する方法はありますか?
これらの行(以下の疑似コード)に沿った何かが機能する可能性があると思いました:
for x in __init__.argument_names:
exec('self.' + x + ' = ' + x)
この方法で exec を呼び出すのは良い習慣ではないことはわかっています。しかし、Python 開発チームは、このタスクを自動化するための安全で同等の方法を作成した可能性があります。
助言がありますか?
FS