私が理解しているように、pythonにはint
sまたはfloat
sまたは同様のデータへの参照はありません。それにもかかわらず、私は次のようなことができれば非常に便利な問題に取り組んでいます
a=1
b=2
c=3
ref_dict={'field1':ref_to_var_a,'field2':ref_to_var_b,'field3':ref_to_var_c}
その後
def update(field,value):
ref_dict[field]=value
したがって、ユーザーが呼び出した場合
update('field2',5)
の値はb
5 になります。
これを行う方法はありますか?ありがとう。
アーバナートの有益なコメントと回答に応えて、私が本当にやりたいことは、驚き、驚き、より複雑です。wxPython で GUI を構築しています。多くの TextCtrl コントロールがあり、それぞれが 1 つの変数の値を設定します。もちろん、各コントロールに対して 1 つのメソッドを作成することも、次のような単一のメソッドを作成することもできます。
def handleTextEvent(self,event):
if (event.GetEventObject() == widget1):
a=int(event.GetString)
elif (event.GetEventObject() == widget2):
b= ....
私がこれが嫌いな理由もわかると思います。次のような短い関数を 1 つだけ実行できればいいのですが。
def handleTextEvent(self,event):
ref_dict[event.GetEventObject()]=int(event.GetString())
そして、はい、私は wxPython の初心者です。
ありがとう!