問題タブ [python-nonlocal]

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 投票する
3 に答える
53 参照

python-2.7 - 外部関数変数を変更するには?

Mark Lutz による「Learning Python」で、「関数は、構文的に囲まれた関数とグローバル スコープで割り当てられた名前を自由に使用できますが、それらを変更するには、そのような非ローカルとグローバルを宣言する必要があります」と読みました。Python 2.7 でそれらをテストできませんでした。

エラーが発生します:

'global' (NameError: グローバル名 'f1_a' が定義されていません) および 'nonlocal' (非ローカル f1_a 、SyntaxError: 無効な構文) は機能しません。これは、外側の関数で導入された変数を内側の (すぐに囲まれた) ものから変更する方法がないことを意味しますか?

0 投票する
0 に答える
494 参照

python-3.x - Python コールバック関数で非ローカル変数のバインディングがありません

RabbitMQ メッセージ キューからメッセージを受信するための次のコードがあります。

ステートメントSyntaxError: no binding for nonlocal 'result' foundでエラーが発生します。この答えは、まったく同じ方法で in を使用していると思います。この場合、私には理解できません。ここに解決策がないのはなぜですか?nonlocalnonlocalglobalnonlocal