Python3 – 変数のスコープ

ブロックスコープはない

したがって、if文やfor文などの制御構文はスコープを持たない。制御文の外で定義された変数は制御文内で参照でき、制御文内での変更は変数に影響を与える。

関数のスコープ

関数内では変数はローカルスコープを持つ。

  • グローバル変数は関数内から直接には参照できないため、無定義で参照しようとするとエラーとなる
  • 関数内でグローバル変数と同じ名前の変数を定義すると、ローカル変数として扱われる
  • ローカル変数の変更は、同名のグローバル変数に影響を与えない

クラスのスコープ

クラスはローカルのスコープを持つが、クラス変数とインスタンス変数でもスコープが異なる。

global宣言

グローバル変数をglobal宣言することで、関数の中で参照・変更が可能となる。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です