pythonで変数の値を関数の名前にしたいです。
0
よくわからないのですが、a="func"ということでしょうか?
何か例を出してもらったほうが回答しやすいのではないかと思います
指定された名前で辞書に格納するとかではだめなんでしょうか?
locals()
が返す辞書に、関数名をキーとして関数オブジェクトをセットすれば関数を定義できます。ただし文脈によっては動かないことがあります。
name = "my_func"
locals()[name] = lambda: print("hello")
my_func() # => hello
exec()
を使って動的に関数を定義することもできます。
name = "my_func"
exec(f"""
def {name}():
print("hello")
""")
my_func() # => hello
いずれにしても、入力に応じて変数や関数の名前を決めるようなコードは普通の Python プログラミングでは書かないほうがいいです。(動的なコード生成が必要なフレームワークを作るときや、 Python で何ができるか実験するときに書く程度です。)なんらかの名前と値を対応させたいときは一般的には辞書オブジェクトを使います。