スコープに含まれる変数を要素とする辞書を戻す関数メモ。
テストプログラムを書く
$ vi vars.py
#!/usr/bin/env python # -*- coding: utf8 -*- g_name = "tarou" g_color = "red" def func(): name = "jirou" color = "blue" print "-"*10, "In function.", "-"*10 print "vars ->", vars() print "locals ->", locals() print "globals ->", globals() print "name:%(name)s, color:%(color)s" % vars() if __name__ == "__main__": func() print "-"*10, "In __main__.", "-"*10 print "vars ->", vars() print "locals ->", locals() print "globals ->", globals() print "name:%(g_name)s, color:%(g_color)s" % vars()
実行してみる
$ python vars.py
---------- In function. ----------
vars -> {'color': 'blue', 'name': 'jirou'}
locals -> {'color': 'blue', 'name': 'jirou'}
globals -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
name:jirou, color:blue
---------- In __main__. ----------
vars -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
locals -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
globals -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
name:tarou, color:red雑感
“%(name)s” % (vars()) って記述がわかりやすい。






