重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

pythonを勉強しています。
ローカル変数とグローバル変数の使い分けについてならったことろなのですが、どういうときにどちらを使うのか、いまいちイメージできていません。
理解を定着させたいと思い、何か自分で作ってみようと思っていますが、なかなかいいお題が思いつきません。
リストの作り方などまだ習っていないことも多く、複雑なことは全くできない初心者なのですが、初心者でもできる、いいお題をいただけないでしょうか?
よろしくお願いします。

A 回答 (2件)

別に悩むような話では有りません。


例えば、sub_a という関数で、iというグローバル変数を使ったとします。
sub_bという関数のループ処理の中でsub_aを使うときに、ループ変数に
グルーバル変数iを使ったら破綻しますよね。じゃあ別のグローバル変数jを使って
済ましたとします。

次に、sub_c関数でsub_a,sub_b関数を使う場合、グローバル変数iとjを
使うとsub_a,sub_cが踏みつぶしてしまうので、使うのは避けようと
いう話になるでしょう。

こうして使えない名前がどんどん増えて行きます。

まだ、グローバル変数を使いたいですか?

まあ、pythonの場合、関数名等も含めて、普通の使い方ではモジェールを越えて
名前が衝突したりしないので、それ程酷いことにはなりませんが、
原則、グローバルは極力使わない、が、pythonに限らず、プログラミングの
大原則です。
    • good
    • 0

規模が小さいコードだと、そのへんは特に意識しなくてもそんなに問題はありません。

それを気にすべきなのは、関数を使うようになってからです。

関数の中で使う変数は、基本全てローカル変数として定義して使います。ここで「値を戻すのがめんどいからグローバル変数で…」ってやりたくなる場合もあるんですけど、そう言うシーンに直面した時にローカルとグローバルの使い分けで悩むことになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!