printの表現方法

Pythonをがんばって勉強中の私です。本当はGoogle App Engineで何か作ろうと思ったんですが、Pythonがあまりにも面白いんで、GAEのほうは手がつきません。一応、オンラインマニュアルは読んだかな〜

>>> print("%s" % "This is it!")
This is it!
>>> print("%s: %d" % ("Age", 20))
Age: 20
>>> print("%10s -- %03d" % ("Good", 89))
      Good -- 089

まあ〜この辺は通常の使い方だよね。他の言語でも同じようなものだ。

>>> params = {"os":"Linux", "web":"Apache", "db":"MySQL", "lang":"Python"}
>>> print("%(web)s" % params)
Apache
>>> print("%(os)s -- %(web)s -- %(db)s -- %(lang)s" % params)
Linux -- Apache -- MySQL -- Python

これって物凄く便利だと思う。少し感動。それだけなんだけどね。

あと、「locals()」と「globals()」も便利ですよね。

>>> def foo(arg):
...     x = 1
...     y = 2
...     z = 3
...     return locals()
...
>>> foo(4)
{'y': 2, 'x': 1, 'z': 3, 'arg': 4}

定義されたローカル変数の全てを表しているってのが「locals()」、便利ですよね。

>>> def bar(arg):
...     text = "Hello, Python"
...     num  = 99
...     print("%(num)d :  %(text)s -- %(arg)s" % locals())
...
>>> bar("Good")
99 :  Hello, Python -- Good

本当に便利だと思います。感動です。

>>> globals()
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', 'foo
': <function foo at 0x00AF6B30>, 'bar': <function bar at 0x00AF6B70>, '__doc__':
 None}

「foo()」と「bar()」が定義されていますね。面白いです。では