2025年01月14日

一日一項目 for文内の変数は Localであるか 四苦八苦なのであるぞの

k = 0
for i in range(1, 11):
    k += i

print("Total = ", k)  # この k は 上の k = 0 が変更されている。

Pythonでは for内部の変数がLocalではないぞの。

C++ では
for (int i = 0; i < 10; ++i) {
    int k = i * 2;  // kはforループ内でのみ有効
}
// kはここでは無効

  for内の変数は外部では無効というコンピュータ言語が多いのではないか。詳しくは知らんが。

その後、チャッターズとの質疑応答で上のPythonのような使い方は良くないという解説がありワタクシは納得した次第である。上の例では k をグローバル変数としてPythonは処理するとか。なので変更されるのだが、このようなグローバル変数を使っての処理は良くないってさ~。

可読性の低下: グローバル変数は、コードのどこからでも変更できるため、プログラムの動作を追跡しにくくなり、バグの原因となる可能性があります。

なのだよ、ちみぃ!!  だが、ワタクシのように10 ~ 50行ぐらいのコードしか書かない(書けない)愚脳にとっては、ま、いいや(笑)

posted by toinohni at 10:03| 東京 ☀| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください