Pythonインストール後の基礎として、「関数」があります。
関数の作成やその呼び出しは、Pythonを使用する上で、欠かせません。
本記事では、そんなPython基礎となる関数の定義方法と呼び出し方法について、具体例を挙げながら詳しくご説明します。
関数
input()関数やint()関数、str()関数など、Pythonの標準として使用できる関数はたくさんあります。
本記事では、Pythonの標準関数ではなく、オリジナルの関数を作る方法をご説明します。
関数の定義
独自の関数を作成することを、関数を定義すると言います。
関数定義はdef文を使用します。
定義するという意味の英語「define」で覚えましょう。
具体的な関数定義例を、以下にご紹介します。
#input
def admission_fee(number_of_adults, number_of_children):
fee_adults = number_of_adults * 1500
fee_children = number_of_children * 500
fee_total = fee_adults + fee_children
上の例は、大人と子供それぞれの人数を入力することで、入館料合計を計算するプログラムになっています。
関数の戻り値
戻り値(返り値)とは、関数を実行した際の結果として、返す値のことです。
関数の戻り値を指定するのに使用するのが、return文です。
上の例について、return文で戻り値を指定すると、以下になります。
#input
def admission_fee(number_of_adults, number_of_children):
fee_adults = number_of_adults * 1500
fee_children = number_of_children * 500
fee_total = fee_adults + fee_children
return fee_total
関数の戻り値として、「fee_total」を設定することで、関数の実行を修了しています。
関数の呼び出し
上記例の関数「admission_fee(number_of_adults, number_of_children)」を実際に呼び出してみます。
#input
def admission_fee(number_of_adults, number_of_children):
fee_adults = number_of_adults * 1500
fee_children = number_of_children * 500
fee_total = fee_adults + fee_children
return fee_total
fee_total = admission_fee(3, 6)
print("大人3人と子供6人の入場料は",fee_total,"円です。")
#output
大人3人と子供6人の入場料は 7500 円です。
既に定義されている関数は、以降別の条件を入力して、呼び出すことが可能です。
別の条件で呼び出した場合の1例を、以下に載せます。
#input
fee_total = admission_fee(6, 12)
print("大人6人と子供12人の入場料は",fee_total,"円です。")
#output
大人6人と子供12人の入場料は 15000 円です。
引数の指定
上の例で、「admission_fee(6, 12)」の()内の数字は、大人→子供という順番です。
このような、def文の順番で並べた引数を位置引数と言います。
一方で、任意の順番で指定したい場合には、キーワード引数と呼ばれる引数を使用します。
キーワード引数を使用して、子供→大人の順番で指定した例を以下に紹介します。
#input
fee_total = admission_fee(number_of_children = 12, number_of_adults = 6)
print("大人6人と子供12人の入場料は",fee_total,"円です。")
#output
大人6人と子供12人の入場料は 15000 円です。
引数の順番を変えて指定しましたが、出力は同じであることが確認できます。
関数の引数として、指定しない場合に使用されるデフォルトの値を指定することもできます。
これをデフォルト引数と言います。
デフォルト引数を使用した場合の例を以下に載せます。
#input
def admission_fee(number_of_adults, number_of_children, coupon = "なし"):
fee_adults = number_of_adults * 1500
fee_children = number_of_children * 500
fee_total = fee_adults + fee_children
print("大人",number_of_adults,"人と子供",number_of_children,"人の入場料は",fee_total,"円です。利用クーポン:",coupon)
admission_fee(3, 6, "500円OFF")
#output
大人 3 人と子供 6 人の入場料は 7500 円です。利用クーポン: 500円OFF
couponに「500円OFF」を指定した場合、上のような出力になります。
一方で、couponの入力を省略した場合、下記結果になります。
admission_fee(3, 6)
#output
大人 3 人と子供 6 人の入場料は 7500 円です。利用クーポン: なし
まとめ
この記事では、Python基礎となる関数の定義と呼び出しについて、ご説明しました。
本記事を参考にして、条件を変えて試してみて下さい。
参考
Python学習用おすすめ教材
Pythonの基本を学びたい方向け
統計学基礎を学びたい方向け
Pythonの統計解析を学びたい方向け
おすすめプログラミングスクール
Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!