Pythonで関数(function)を定義するには、def(define)文を用いて行います。
関数はプログラミングの中でも非常に重要で、しっかり理解し使いこなす事が出来ると様々なメリットを得る事が出来ます。
- 同じコードを何度も書かずに済むのでメンテナンスが楽
- 作業時間が短縮される
綺麗なコーディングが出来るようになるので、使いこなせれば初心者卒業です。
Pythonの関数の使い方
プログラムを始めたばかりの方にとっても理解できるように、そもそも「関数」とは何かを解説したのちに、pythonにおける関数の定義についてご説明します。
関数とは
関数と聞くと、少し難しく感じるかと思いますが、昔は「函数」と呼ばれていて、引数をハコの中に入れてハコの中で加工して結果を返すイメージです。
もう少しかみ砕いて説明すると関数を道具と捉えると簡単になります。
大根を切るときの「包丁」であったり、長さを図るときの「メジャー」のようなものが関数です。
Pythonの関数
pythonに限らず、プログラムにおける関数とは、ある特定の処理をひとまとまりにしたものの事です。
(もちろん、単体の処理でも構いません)
pythonで関数の定義するときは「def 関数名():」していします。
ちなみにdefはdefine(定義する)の略から来ています。
関数の定義
def 関数名():
タブ処理
例えば、def umaibo()と書いた場合、umaiboという関数が定義されたことになります。
呼び出す時は、「関数名() 」 で呼び出します。
関数名を記述して()で呼び出します。()内には引数を入れる事ができます。
引数とは先ほどイメージ図で書いた通り、関数に入れる値のことです。
関数には「引数」が無い・有ると「戻り値」が無い・有るの4つがございます。
1.引数の無い関数
>>> def umaibo():
... print('うまい棒最高!')
...
>>> umaibo()
うまい棒最高!
Umaibo関数は、print出力のみの関数なので、引数に値を記入する必要がありません。
2.引数のある関数
>>> def total_price(price,number):
... sum = price*number
... print('うまい棒は1本' + str(price) + '円で、' + str(number) + '本買うと合計は' + str(sum) + '円です')
...
>>> total_price(10,15)
うまい棒は1本10円で、15本買うと合計は150円です
この例題では、引数に①価格②本数として、(price,number)を与えています。
関数を定義し、最後に呼び出す際に(10,15)を指定して、結果をプリントで表示しています。
3.戻り値のない関数
「戻り値」とは、関数を使った時に結果として返ってくる値のことです。
当然、戻り値がない場合は省略できます。
>>> def umaibo():
... print('うまい棒最高!')
...
>>> umaibo()
うまい棒最高!
先ほどの引数の無い関数と一緒ですね。
4.戻り値がある関数
>>> def total_price(price,number):
... sum = price*number
... calculation = 'うまい棒は1本' + str(price) + '円で、' + str(number) + '本買うと合計は' + str(sum) + '円です'
... return calculation
...
>>> print(total_price(10,15))
うまい棒は1本10円で、15本買うと合計は150円です
引数のある関数の例題の3行目をprintから変数(calculation)に変更し、returnで「calculation」を戻り値として指定しています。
ちなみにこの例題のreturn文を記述しないと「None」値を返します。(エラーは出力されません。)