ローカル変数とは?プログラミングでの使い方と注意点

ざっくりと

ローカル変数とは、使用範囲が限定される変数です。

概要説明

ローカル変数とはスコープが限定された変数である。 なぜならば、この変数は関数やメソッド、for文などのブロック内でしか使えないからだ。例えば、for文でカウントする変数iはfor文の外では使えない。そして、プログラム全体で使いたい変数はグローバル変数と呼ぶ。つまり、ローカル変数はその場その場で使う変数である。だから、コードが読みやすく、バグも少なくなる。

ローカル変数の例

def my_function():
    local_variable = "私はローカル変数です"
    print(local_variable)

my_function()

# この行でlocal_variableを呼び出すとエラーが出る
# print(local_variable)

この例では、local_variablemy_function関数内で定義されているので、関数の外からはアクセスできない。

グローバル変数の例

global_variable = "私はグローバル変数です"

def my_function():
    print(global_variable)

my_function()

# この行でもglobal_variableは使える
print(global_variable)

この例では、global_variableは関数の外で定義されているので、どこからでもアクセスできる。

ローカル変数とグローバル変数を一緒に使う例

global_variable = "私はグローバル変数です"

def my_function():
    local_variable = "私はローカル変数です"
    print(global_variable)
    print(local_variable)

my_function()

# この行でもglobal_variableは使える
print(global_variable)

# この行でlocal_variableを呼び出すとエラーが出る
# print(local_variable)

この例では、my_function関数内でローカル変数とグローバル変数の両方を使用している。関数の外では、グローバル変数のみが使用可能。

職業職種

  • プログラマー
    ローカル変数は、コードを効率的にするために使う。なぜなら、変数のスコープを限定することで、バグを減らせるからだ。例えば、関数内で一時的なデータを保存する場合。
  • データアナリスト
    ローカル変数は、データ処理スクリプトで使う。なぜなら、一時的な計算結果を保存するためだ。例えば、平均値を求める際の合計値を保存する場合。
  • 学生・教育者
    ローカル変数は、プログラミングを学ぶ際に使う。なぜなら、基本的なプログラミングの概念を理解するためだ。例えば、for文で繰り返し処理をする際にカウント変数として使う。

ローカル変数は、名前の由来は「Local」であり、これは「地域的な、局所的な」という意味があります。だから、この変数は特定の「場所」(スコープ)でしか使えないということです。

手順例

以下は、Python言語でのローカル変数の使用手順です。
  1. 関数を定義する
    関数内でローカル変数を使う。なぜなら、ローカル変数は関数内でしか使えないからだ。例えばdef my_function():
  2. 変数を宣言する
    関数内で変数を宣言する。なぜなら、その変数がローカル変数になるからだ。例えばlocal_var = 10
  3. 変数を使う
    関数内で変数を自由に使う。なぜなら、その範囲内でしか影響を与えないからだ。例えばprint(local_var)
  4. 関数を呼び出す
    関数を呼び出して、ローカル変数を使う。なぜなら、関数を呼び出さないとローカル変数は動かないからだ。例えばmy_function()
  5. 関数外で使わない
    関数外でローカル変数を使おうとしない。なぜなら、エラーが出るからだ。例えば、関数外でprint(local_var)とするとエラー。

類似語

  • スコープ変数
    スコープ変数は、ローカル変数の類似語である。なぜなら、有効範囲(スコープ)が限られているからだ。例えば、関数内で使われる変数。
  • 一時変数
    一時変数は、ローカル変数の類似語である。なぜなら、一時的に値を保持するために使われるからだ。例えば、計算の途中結果を保存する変数。
  • 内部変数
    内部変数は、ローカル変数の類似語である。なぜなら、特定のブロック内でのみ使用されるからだ。例えば、forループ内で使われるカウンタ変数。

反対語

  • グローバル変数
    グローバル変数は、ローカル変数の反対語である。なぜなら、プログラム全体で使えるからだ。例えば、関数外で宣言された変数。
  • 定数
    定数は、ローカル変数の反対語である。なぜなら、値が変わらないからだ。例えば、const PI = 3.14;
  • 環境変数
    環境変数は、ローカル変数の反対語である。なぜなら、システム全体で使えるからだ。例えば、PATHHOME

会話例

  • コードレビュー中
    「この変数はローカル変数でいいの?」
    「うん、この関数内でしか使わないからローカル変数で大丈夫。」
  • バグ修正の相談
    「ローカル変数のせいでバグってない?」
    「確認するけど、ローカル変数はその関数内でしか影響ないから、多分違うよ。」
  • 新機能の設計
    「新機能でローカル変数使う?」
    「うん、計算途中の値を一時的に保存するために使うよ。」

注意点

ローカル変数を使用する時の注意点はスコープである。なぜならば、関数やブロック外で使えないからだ。例えば、forループ内で宣言した変数はループ外で使えない。そして、関数が終わると消える。だから、使い場所をしっかり考える。

ローカル変数と一時変数は、間違えやすいので注意しましょう。

ローカル変数は、関数やブロック内でのみ有効です。

一方、一時変数は、短い時間だけ値を保持する変数です。

記事を書いてる人

ガラケー時代からWEB開発やってる自宅SE です。

「○○を知りたい!!」「○○が分からない!!」などありましたら、Twitterでもブログでもコメントいただければ、ご期待に添えるように頑張ります!

ネット事件簿チャンネルを運営しているので、YouTubeもぜひ覗いてみてください!!

雨おやじのSNSを覗く!!
IT用語辞典
雨おやじのSNSを覗く!!
ITkagyo

コメント