2023-12-29

anond:20231229001458

関数のもの変数に入れることができる

func1(何かの関数)を実行すると、その内部でwrapperという関数作成され、その関数戻り値になる

wrapperという名前はfunc1内部でのものなのでその外では使えないが、関数のもの戻り値として返却され、

funcという変数に入れられているので、変数funcを通してアクセスできる状態になっている

 

python知らんから適当だけど

記事への反応 -
  • この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...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん