Hello, world!には「print 'Hello, world!'」以外にもやり方がある。
def main():
s = 'Hello, world!'
print s
main()
def main():で関数を宣言し、その後の2行で関数を定義する。第4行のmain()で関数を呼び出し、「Hello, world!」を表示させる。この例では特に利点があるようには思えないが、main()からプログラムの実行を始めたいという人もいるかもしれない。
次の例、
class HW:
def main(self):
self.s = 'Hello, world!'
print self.s
import pickle
print pickle.dumps(self)
p= HW()
p.main()
を実行すると、以下のような結果になる。
Hello, world!
(i__main__
HW
p0
(dp1
S's'
p2
S'Hello, world!'
p3
sb.
この例では、HWというクラスを作成し、クラスのインスタンスpのmain(self)をp.main()で呼び出すことで、'Hello, world!'を表示させている。「(i__main__」から「sb.」までの数行は、インスタンスpの状態をpickle.dumps(self)で文字列として表現したものだ。
プログラム本体をクラスとして設計すると、実行中の状態を丸ごと文字列にして、必要であればテキストファイルなどに保存できる。