python: local / global スコープ変数

Python 2.4.4 (#2, Apr 15 2008, 23:43:20)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=2
>>> def func():
...   b=3
...   print locals()
...   print globals()
...
>>>
>>> func()
{'b': 3}
{'__builtins__': <module '__builtin__' (built-in)>,
 '__name__': '__main__', 'func': <function func at 0xb7da9d14>,
 '__doc__': None, 'a': 2}
 
変数がdefineされていないかどうかの判断は可能。
変数は __init__とかで宣言するようにしていちいち判断しない、宣言してないかどうかはテストでカバーする、のがマナー?
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中