2010年9月9日木曜日

Pythonの関数に辞書型の引数を用いる

いわゆるキーワード引数のこと。タプルを使う場合もあるが、今回は単純に

>>> a = getAge(1985, month = 8)

みたいな使い方について述べる。

関数側の定義は以下のようになる。


nowYear = 2010
nowMonth = 9

def getAge(year, **keys):
"""
年齢を返す
"""
if keys.has_key("month"):
month = keys['month']
else:
month = nowMonth

age = nowYear - year
if month - nowMonth > 0: # まだ生まれ月じゃない
age -= 1
return age



辞書がそのキーワードを持っているかはhas_keyメソッドで確認できる。
これで色々とパラメータを調整できるようになって楽だな。

0 件のコメント: