よろずや

Python とは?

シンプルさが売りのスクリプト言語。詳しくは http://www.python.org/ (本家) や http://www.python.jp/ (日本) をどうぞ。

よくある Hello, World プログラムを Python で書いてみると,

#!/usr/bin/env python
print "Hello, World"

これではあまりに簡単すぎるので,いろんなデータ型を使いながら Hello, World を表示してみる。

#!/usr/bin/env python

print 'Hello, World'  # フツーに表示
print "Hello, World"  # フツーに表示
print "Hello," + " " + "World" # 文字列の連結
print "Hello,", "World" # カンマで区切ってみる(空白が一つ挿入される)
print """Hello, World""" # """ を使ってみる
print '''Hello, World''' # ''' を使ってみる

# 書式指定を使ってみる
print "%s, %s" % ("Hello", "World")
print """%s, %s""" % ("Hello", "World") # """ で書式指定を使ってみる

# 変数を使ってみる
hello = "Hello"
world = "World"
print "%s, %s" % (hello, world) # 変数展開
print "%(hello)s, %(world)s" % (locals()) # 変数展開その 2

# リストを使ってみる
lst = ["Hello", "World"]
print "%s, %s" % (lst[0], lst[1])
# print """%(lst[0])s, %(lst[1])s""" % (locals()) これはダメ
# ダメな理由は print locals() を眺めてみるとなんとなくわかる

# ハッシュを使ってみる
hash = {"h" : "Hello", "w" : "World"}
print "%s, %s" % (hash["h"], hash["w"])
# print """%(hash["h"])s, %(hash["w"])s""" % (locals()) はダメ

しつこい Hello, World

あまりシンプルに見えないが,それはサンプルが悪いだけである。たとえば Tk へのインターフェース,Tkinter を使って GUI なプログラムを書こうと思えば,

#!/usr/bin/env python

# まず Tkinter の全てのモジュールをインポートする
from Tkinter import *

# GUI オブジェクトを作成
top = Tk()
frame = Frame()
label = Label(frame,text='Hello, World')
btn = Button(frame,text='Quit',command=frame.quit)

# GUI オブジェクトを配置
label.pack()
btn.pack()
frame.pack()

# メインループへ…
top.mainloop()

GUI 版 Hello, World

のように非常に簡潔に表記できる。