7:コレクションを引数にせずintやstrを受け取る¶
関数の引数にはどういった値を期待するのが良いでしょうか? 関数の引数を考えることは、関数の入力仕様を決めることなのでとても重要です。
次の関数は何が問題でしょうか?
具体的な失敗¶
def calc_tax_included(item, tax_rate=0.1):
return item['price'] * (1 + tax_rate)
この calc_tax_included
は引数に item
(商品を表す辞書)を期待しています。
これでは単に「消費税を計算したい」という場合にも、毎度「 'price'
キーを持つ辞書」を用意する必要があります。
関数の再利用性が低くなってしまいます。