November 1, 2007

Python入門:経過日数を計算するサンプルコード


「僕にはlambdaがよくわからないよっ」
「野球の素振りのように、ドンドン振っていこう」



たとえば、誕生日から10000日目が経過する日にちはいつだろうか。
そんな時には下のようにコードを書いてみよう。


from datetime import *
def func(n):
  return lambda d: d + timedelta(days=n)
f = func(10000)
n = date(1990, 1, 1)
print f(n)




10000とか1990,1,1とかはお好みで。
lambdaは無名関数を作るときのキーワード、
初めて見た人にとっては、ちょっとクセがありそう。

lambdaをもっと簡単に書くと下のように書ける。
自分なりに色々試して身につけたい。

x = lambda y: 10 * y + 1
print x(3)   #==>31