問題タブ [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.
python - なぜpythonは参照による変数の受け渡しを許可しないのですか
これはおそらくディスカッション グループに適していると思いますが、私は言語の内部 (または言語自体) に精通していません。いずれにせよ、私を悩ませているのは:
Python がキーワードを使用して外部スコープとの干渉 (副作用) をnonlocal
許可している場合、参照による引数の受け渡しを許可することで、関数の引数との同様の干渉を許可しないのはなぜですか。
現在可能:
そうでない理由 - または、次のような場合に何がうまくいかない可能性がありますか:
(「byref」や「nonlocal」などのキーワードを使用して説明します)。
python-3.x - なぜこのpythonプログラムは次の出力を持っているのですか?
出力は 1 2 10 20 です。なぜこれらの出力が得られるのかわかりません。詳しく説明できる人はいますか? ありがとう!
python - Python 3 で非ローカルを理解する
Python 3 の変数スコープとnonlocal
.
次の関数を考えてみましょう (これは単なる例です)。
これはなくても問題なく動作しnonlocal
ます。something
しかし、非ローカルの必要性に応じて、条件付きでゲッターとセッターを作成したい場合。
nonlocal
が必要な場合とそうでない場合があるのはなぜですか? 言い換えれsomething
ば、最初のケース ( なし) で正しく見つかったnonlocal
のに、2 番目のケースでは "UnboundLocalError: 割り当て前に参照されたローカル変数 'something'"nonlocal
が存在しない場合はなぜですか?
python - Python 3でローカルではなくグローバルではない変数を保持する
だから私はクロージャーで遊んでいるPython 3.4.1に小さなコードを持っています
もともと私は電話できるかどうかを見たかった
そして、最終行がJavaScriptのように56より大きい数値を出力するかどうかを確認します(私は思う)
しかし、代わりに「paw」の「x」をローカルに呼び出したので+=
(そうですか?)、GETしようとするとエラーがスローされますx+=1
外側のスコープで変数を変更することに対する何らかの規則はありますか?
python - Python3.4で非ローカルまたはグローバルとは異なる変数にアクセスできますか?
特定のスコープで他の変数にアクセスできますか? このような:
それは生死の問題ではありません、私はただの好奇心です。Pythonでグローバルと非ローカルがどのように機能するかを学びました。今のままで十分だと思いますが、私が求めていることは可能なのだろうか。特に、これについて pep を読んだところ、「特定のスコープで非ローカル」のようなものを作成することを考えていました。しかし、代わりに非ローカルを使用することにしました。非ローカルなしでこれを行う方法があるからですか?それとも、2回書くなど、非ローカルに何らかのトリックがあるのnonlocal nonlocal variable
でしょうか?
python - Pythonでクラス定義内の非ローカルスコープにアクセスするには?
私はこれをしたい(ダミーの例):
しかし、「SyntaxError:非ローカル 'var' のバインディングが見つかりませんでした」というメッセージが表示されます。
私が実際にやろうとしているのは、そのメソッドが装飾されている場合、クラスのスコープ内のリストにメソッド名を追加することです。このようなもの: