5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python3 > 関数 > シンボルテーブル (symbol table) > 変数への代入 / 変数の参照 / グローバルな変数 / globals() / locals()

Last updated at Posted at 2016-10-31
Python 3.5.2ドキュメント

4.6. 関数を定義する
...
関数を 実行 (execution) するとき、関数のローカル変数のために使われる新たなシンボルテーブル (symbol table) が用意されます。もっと正確にいうと、関数内で変数への代入を行うと、その値はすべてこのローカルなシンボルテーブルに記憶されます。一方、変数の参照を行うと、まずローカルなシンボルテーブルが検索され、次にさらに外側の関数のローカルなシンボルテーブルを検索し、その後...

従って、関数の中では、グローバルな変数を参照することはできますが、直接値を代入することは (global 文で名前を挙げておかない限り)できません。

シンボルテーブルを意識することによりPython3をうまく使えるかどうかは未消化。


(2016/11/01 追記)

@shiracamus さんにコメントにてglobals()とlocals()を教えていただきました。

情報感謝です。

5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?