わかりましたので、別の関数を呼び出す関数 ( take_action ) があるとします。しかし、take_action がどの関数を呼び出すかはわかりません。
この質問のおかげでその部分を理解しました。問題は、その質問では、引数を取らない関数を処理することです。私の take_action は、互いにまったく異なるいくつかの異なる関数のいずれかを取ることができ、まったく異なるアクションが実行されます。異なる引数。
次に、いくつかのコード例を示します。
def take_action():
action['action']()
#does other stuff with 'other_stuff_in_the_dic'
def move(x,y):
#stuff happens
action = {'action': move, 'other_stuff_in_the_dic': 'stuff' }
(この場合、「アクション」は移動になりますが、私が言ったように、特定のユーザー入力に応じて動的に割り当てられます)
私がやりたいことは、次のようなものです:
action = { 'action': move(2,3), 'other_stuff': 'stuff' }
(明らかに、()があるため、そこで関数を呼び出します。したがって、機能しません)
私は初心者のプログラマーにすぎません。私が考えた唯一のことは、dic 内の別のキーにあるリストを使用することでしたが、リストの各コンテンツがとして渡されるのではなく、1 つのリスト引数を渡すだけでした。口論。
これを実現するにはどうすればよいのでしょうか?「アクション」キー (または別のキーの辞書?) には、take_action で呼び出すときに使用する必要がある引数も格納されますか?