関数の定義にはdefを使う。
def hamspamfactory(spams, hams):
print "Spam! " * spams
print "Ham! " * hams
hamspamfactory(3, 5)
print "--"
hamspamfactory(hams = 4, spams = 5)
特徴的なのは、関数定義のブロックを表すのにインデントを使うところ。インデントされた部分が関数の中身になる。あと、キーワード引数が使える。
実行結果:
^o^ > python function.py Spam! Spam! Spam! Ham! Ham! Ham! Ham! Ham! -- Spam! Spam! Spam! Spam! Spam! Ham! Ham! Ham! Ham!
引数のデフォルト値を指定することもできる。デフォルト値がある引数は省略が可能。
def foodfactory(times, foodname="Spam! "):
print foodname * times
foodfactory(3)
foodfactory(5, "Egg! ")
実行結果:
^o^ > python function2.py Spam! Spam! Spam! Egg! Egg! Egg! Egg! Egg!