このpythonプログラムの def func1(f): def wrapper(): print("開始") f() print("終了") return wrapper def func2(): print("これは func2です") func = func1(func2) func() 実行結果が ...
関数そのものを変数に入れることができる func1(何かの関数)を実行すると、その内部でwrapperという関数が作成され、その関数が戻り値になる wrapperという名前はfunc1内部でのものなのでそ...
ありがとうございます もう少し考えてみます
こういう表現で伝わるか知らんけどスコープは「名前」に適用される概念だと思うといいよ
関数ポインタみたいなもんでは?pythonわからんけど
関数を抜けたら消滅するというのは「寿命」の話で、どこからアクセスできるのかを示す「スコープ」とは異なる。 wrapper本体の寿命はfunc1を抜けても終わらない。
def もらった関数を実行する関数を返す(もらった関数): def もらった関数を実行する関数(): print("開始") もらった関数() print("終了") return もらった関数を実行する関数 d...