スコープとは
・変数が有効な範囲のこと
・ローカルスコープにある変数: ローカル変数
・グローバルスコープにある変数: グローバル変数
・違いは関数の中にある変数なのか、外にある変数なのか
・関数内の変数は他の関数内で使えないが、関数外にある変数はどこの関数内でも使える
以下のように関数内の変数( main() 関数の a )はローカル変数です。
def main():
a = 100
print(a)
以下のようにPythonファイルに直接置かれた変数(変数 g)はグローバル変数です。
g = 'グローバル変数です'
def main():
print(g)
グローバル変数の変更方法
Pythonでは関数の内部からグローバル変数は変更できません。
global文
Pythonでグローバル変数を書き換える際には global 文を使えますが、global文はあまりオススメしません。
なぜなら、関数がグローバル変数の影響を受けてしまうからです。
リストや辞書にはスコープの変更はOK
・リストへの要素の追加はリスト名+.append("追加したい値")
def line():
l .append("suki")
print(l)
line()
・辞書への値の追加は辞書名[キー名] = ”追加したい値”
l = {}
def suki():
l[0] = "tanosi"
print(l)