ループが完了した後も Python の「for」ループ制御変数がスコープ内に残るのはなぜですか?
Python の 'for' ループの制御変数がその後もスコープに残るのはなぜですか?
Python のスコープ規則は一般的に理解されていますが、制御変数をスコープに維持するという設計上の選択は、ループを抜けた後のスコープは一部の人にとって謎のままです。次のコードを考えてみましょう。
for foo in xrange(10): bar = 2 print(foo, bar)
これは (9, 2) を出力しますが、'foo' がループを制御し、その中で 'bar' が定義されているため、直感に反するように見えるかもしれません。 'bar' がループの外でアクセスできる理由は理解できますが、'foo' が永続的に存在するため懸念が生じます。
考えられる説明は文法的な単純さです。代入はスコープを暗黙的に示すため、ループ内の変数への代入にはスコープの明確化は必要ありません。 Python では、特定のスコープ内で変数を宣言することは行われません。 「global」キーワードは、グローバル スコープの割り当てを明示的に示すために存在します。
この設計は採用を大きく妨げることはなく、ユーザーはループの外で制御変数と定義された変数の両方にアクセスできる機能を受け入れています。これにより、スコープ設定と曖昧さ回避の複雑さが回避され、コードの可読性と開発が簡素化されます。
以上がループが完了した後も Python の「for」ループ制御変数がスコープ内に残るのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

Pythonasyncioについて...

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。

Python 3.6のピクルスファイルの読み込みエラー:modulenotfounderror:nomodulenamed ...

SCAPYクローラーを使用するときにパイプラインファイルを作成できない理由についての議論は、SCAPYクローラーを学習して永続的なデータストレージに使用するときに、パイプラインファイルに遭遇する可能性があります...
