pythonでグローバルな定義をしたいなー、と思ってちょっと調べてみたら、ちょっと面倒、というか不安になる仕組みになっていたのでメモしておく。 以下の内容は、ちょっと前に購入していた参考書「初めてのPython(第2版)」に分かりやすく記載されており、その確認と自分なりの補足メモです。参考になるのは、p.286の「変数がローカルスコープに属するかどうかはスタティックに決定される」という項目です。 関数の外の変数の参照 1.変数(X)が関数の外で定義されている 2.変数(X)が関数内で参照されている 3.関数内で変数(X)への代入処理が行われていない 以上の条件の場合、関数内で参照される変数は関数外の変数となる。 確認コード X = 99 def testf(): if X == 99: print "OK" else: print "NG:",X testf() print X 以上のコー
![スコープ判定とグローバル変数 - octech](https://cdn-ak-scissors.b.st-hatena.com/image/square/30768ca957405bd2a8efa108c70a0dfc6cc6fad5/height=288;version=1;width=512/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F51W3A9A9N2L._SL160_.jpg)