なんのことか
pythonの変数の話
関数を呼び出した時に設定されるパラメータと変数→ローカルスコープ内に存在
関数の外で代入された変数→グローバルスコープ内に存在
スコープとは変数を入れる場所のこと
ローカルスコープ内に存在する変数をローカル変数という
グローバルスコープ内に存在する変数をグローバル変数という
グローバルスコープのコードはローカル変数を呼び出せない
ローカルスコープのコードはグローバル変数を呼び出せる
ローカルスコープのコードは他の関数で使われるローカル変数を呼び出せない
global文
関数でグローバル変数を変更したい場合に利用する
global [変数名] と記載することで、この関数では[変数名]はグローバル変数を参照していると定義することになる
※この場合ローカル変数として同じ名称の変数は使えない
global文を利用してglobal関数を変更する例
def hoge():
global name
name = 'Yamada'
name = 'Suzuki'
hoge()
print(name)
この場合はglobal文がなくてもprint(name)で呼び出されるnameグローバル変数となる
def hoge2():
print(name)
name = 'Yamamoto'
hoge2()