現在、私は関数にPython 'クラスの機能'を取得しようとしています。** argsを渡すことによって関数変数を更新する方法
例コード:
def image_gen(**kwargs):
anglerange= 45
print(image_gen.__dict__)
image_gen.__dict__.update(kwargs)
print(image_gen.__dict__)
print(anglerange)
args = dict(anglerange=15)
image_gen(**args)
リターン:
{}
{'anglerange': 15}
45
これは、引数の更新を解決する正しい方法ではありませんが、それのための正しい方法は何ですか?あるクラスでは、self.update.__dict__
と呼ぶことができます。どのように設定されていますか?
標準コピーを実行するには、関数で引数の初期化が必要です。不明確なロジックはPython 3.5に
クラスの機能をクラスに追加する理由はなぜですか? – bereal
__init__などでクラスを作成するのではなく、これを行うことができるかどうか不思議です。これらの関数もテストと実験が簡単です。 – srood
ローカル変数の値を更新することはできません。クラスでさえ 'print(self.anglerange)'をしなければならないでしょう。単に 'print(anglerange)'はここと同じように動作します。 –