Python

[Python 入門] ローカル変数やグローバル変数について徹底解説!

Pthonの変数について

Pythonでは、「変数」という値を格納するための概念があります。
一言に変数といっても種類があるのでそれぞれの特徴と使い方を説明していこうと思います。

Pythonの変数などの基礎について知りたい方はこの記事を参考にしてみてください。

https://itthestudy.com/%E4%BA%BA%E6%B0%97%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9Epython%E3%81%A8%E3%81%AF/

ローカル変数とは

まずはローカル変数について説明していこうと思います。

ローカル変数は名前の通り、宣言した関数の中でしか使えない変数です。
つまりその関数を一度抜けてしまうと、変数の中身は保証されません。

IT博士
IT博士

その時だけ使いたい一時的な変数が「ローカル変数」というわけです。

グローバル変数とは

次にグローバル変数についてみていきます。
どの範囲からもアクセスできる変数であり、一番自由度の高い変数なのです。

このグローバル変数について理解するには、変数のスコープというものについて知っておく必要があります。

スコープというのは、変数がアクセスできる範囲のことを言います。
変数はコードのどこに書いても、どこからでもアクセスできるというわけではありません。

記述する場所によってグローバル変数かローカル変数かのどちらかに分けられます。

例えば「関数の中で宣言」された変数か「関数の外で宣言」された変数かによって働きが変わっていきます。

IT博士
IT博士

基本的な予備知識はこのくらいにして、グローバル変数とローカル変数について見ていきましょう!

グローバル変数の使い方

先ほども少しお話ししましたが、グローバル変数とはどこからでもアクセスができ、自由度の高い変数です。

さっそくサンプルコードを見ていきましょう。

# グローバル変数の宣言
temp = 'abcdefg'

# 関数の宣言
def function():
    print(temp)

# 関数とprint関数の実行
function()
print(temp)

このサンプルコードの実行結果は、

# 実行結果
abcdefg
abcdefg

となり、どちらも同じになります。
このことから、どんな場所であろうとグローバル変数にはアクセスできていることがわかります。

ローカル変数の使い方

次に、ローカル変数について軽くだけおさらいしておきます。

IT博士
IT博士

ここでグローバル変数との違いについて確認しておいてくださいね♪

# 関数の宣言
def lfunc():
    # 関数内でローカル変数の宣言
    lvar = 'abcdefg'
    print(lvar)

# 実行
lfunc()
print(lvar)

# 実行結果
abcdefg
!エラー

このように関数内で宣言した変数はローカル変数として扱われるため、関数の外である9行目のprint関数では変数の値が取得できないため、エラーとなってしまいます。

まとめ

今回は、グローバル変数について、

  • 変数のスコープとは?
  • グローバル変数とローカル変数の違い
  • グローバル変数、ローカル変数の例
  • 関数の中からグローバル変数を書き換える方法

普段はあまり気にかけず、すべての変数をグローバル変数にしていた人も、もしかしたらいるかもしれません。

ですが今回紹介したように
使い分けることで、より目的がはっきりとしたコードを書けるようになると思います。

もし変数について今後わからなくなった時には、ぜひまたこのページに遊びに来てください。

https://itthestudy.com/python%E3%81%AE%E5%9F%BA%E6%9C%AC-%E4%BD%BF%E3%81%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E5%9E%8B%E4%B8%80%E8%A6%A7/

[temp id=2]

Copyright© FUNA BLOG , 2020 All Rights Reserved.