問題タブ [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.

0 投票する
10 に答える
36586 参照

python - 字句クロージャはどのように機能しますか?

Javascriptコードの字句クロージャで発生した問題を調査しているときに、Pythonでこの問題が発生しました。

この例では、を注意深く回避していることに注意してくださいlambda。意外と「444」と書いてあります。「024」を期待します。

この同等のPerlコードはそれを正しく行います:

「024」が印刷されます。

違いを教えてください。


アップデート:

問題iグローバルであることではありません。これは同じ動作を示します。

コメント行が示すように、iその時点では不明です。それでも、「444」と表示されます。

0 投票する
2 に答える
7269 参照

python - 「レイト バインディング クロージャー」とはどういう意味ですか?

私は C++ のバックグラウンドがあり、Python を学ぼうとしています。

私は C++ の仮想関数を理解していますが、残念ながら Python でのクロージャの遅延バインディングの意味を理解していません。

リンク: https://gist.github.com/deemson/8efabf56d67623ead804 (動作しなくなりました)

チュートリアルからコピー&ペースト:

ここで正確に何が起こっているのですか?関数がリストに追加されると、どのような値になりますか? 誰かが私が理解できるようにこのコードを単純化してもらえますか?