関数引数のデフォルト値の指定、キーワード引数での関数呼び出し

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

関数引数のデフォルト値の指定

Pythonでは、関数定義の際に、引数にデフォルト値を指定できます。

スポンサーリンク

PHPと同じような書き方が可能です。

def name_old_country(name='あなた', old='30歳', country='Japan'):
    return name + 'は、' + old + 'で、出身は' + country + 'です'
print name_old_country('たかし君')

上記コードでは、「name、old、country」という引数に、それぞれ「name=’あなた’, old=’30歳’, country=’Japan’」とデフォルト値を指定しています。
デフォルト値が指定されている場合、関数を呼び出す際に、引数を省略できます。
上記コードの実行結果。

たかし君は、30歳で、出身はJapanです

一つ目の引数(name)だけ、与えた引数「’たかし君’」の値が表示されています。

キーワード引数での関数呼び出し

また、関数呼び出しの際に、値を与える引数を明示することができます。

def name_old_country(name='あなた', old='30歳', country='Japan'):
    return name + 'は、' + old + 'で、出身は' + country + 'です'
print name_old_country('たかし君', country='アメリカ')
print name_old_country('たかし君', 'アメリカ')

実行結果。

たかし君は、30歳で、出身はアメリカです
たかし君は、アメリカで、出身はJapanです

今度は、countryの引数に、「’アメリカ’」という値を渡して、キーワード引数で関数を呼び出しましたので、「出身はアメリカです」と表示されます。

単に、最後の行のコードのように、キーワード引数を与えず、「’たかし君’, ‘アメリカ’」と引数に値を渡しますと、引数の前から1番目、2番目と値が渡されます。
その結果、2番目の引数oldに、「’アメリカ’」が渡され、3番目の引数countryは、デフォルト値の’Japan’が使われます。

このあたりの動作は、PHPが書ける人ならば、すんなり理解できますね。

スポンサーリンク
 
スポンサーリンク