問題タブ [python-closures]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 字句クロージャはどのように機能しますか?
Javascriptコードの字句クロージャで発生した問題を調査しているときに、Pythonでこの問題が発生しました。
この例では、を注意深く回避していることに注意してくださいlambda
。意外と「444」と書いてあります。「024」を期待します。
この同等のPerlコードはそれを正しく行います:
「024」が印刷されます。
違いを教えてください。
アップデート:
問題はi
グローバルであることではありません。これは同じ動作を示します。
コメント行が示すように、i
その時点では不明です。それでも、「444」と表示されます。
python - 「レイト バインディング クロージャー」とはどういう意味ですか?
私は C++ のバックグラウンドがあり、Python を学ぼうとしています。
私は C++ の仮想関数を理解していますが、残念ながら Python でのクロージャの遅延バインディングの意味を理解していません。
リンク: https://gist.github.com/deemson/8efabf56d67623ead804 (動作しなくなりました)
チュートリアルからコピー&ペースト:
ここで正確に何が起こっているのですか?関数がリストに追加されると、どのような値になりますか? 誰かが私が理解できるようにこのコードを単純化してもらえますか?