Chatpter.1 - 関数のしくみ
関数のしくみ
関数は、受け取った引数を使って決められた処理をする仕事を担います。
- 引数を受け取る (省略可)
- 関数の処理を実行する
- 戻り値を返す (省略可)
初めはちょっと難しく感じるかもしれません。
でも読み進めていくと、途中から急に関数というものが理解できるようになると思います。
2番目だけですね、必要なのは A's。
しかし厳密にはこの3つがあって「関数」と言うことになっています。
2番目の部分に関数の機能となるプログラムを書きます。
関数はこんな風に書きます。
一行目の最初に書かれている
def
というのが「関数宣言」です。♪ 値を中に もらう前に 言っておきたい 事がある ♪
その言っておきたい事というのが
def
です。def
は define (定義する) のdef
です。def
の末尾に:
があります。
や と同じように、インデントをつけることで関数の範囲を示します。
def function(a, b): # 関数を定義する
c = a + b # 関数の機能部分
return c # 関数が作った戻り値
def
と()
の間にあるのが、おなじみの「関数名」です。今まで使ってきた関数sorted()とかの sorted の部分です。
例では関数という意味でテキトーに function と名付けましたが、関数の機能に合った名前を付けておかないと、どんな機能の関数なのかがわからなくなってしまいます。
その次の
()
が、引数を受け取る所です。(a, b)
は、例えば、def function(a, b): # 関数を定義する c = a + b # 関数の機能部分 return c # 関数が作った戻り値 function(1, 2) # ← 「関数を呼び出す」と言います
として引数を渡した時、
a
には1
、b
には2
が渡されます。-
渡す引数の個数と、受け取る引数の個数は同じでなければいけません。
引数を変数にした場合、渡す側の変数名と受け取る側の変数名は異なっていても構いません。値を「見せるだけ」なので。
それと、引数の値は関数に「見せるだけ」なので、可変不変は関係ありませんし、値であればどんな型や形のものでも渡せます。
異なるとエラーになります。
二行目の
c = a + b
は、それぞれ受け取った引数の
a
とb
の値を使って足し算をした結果をc
に代入しています。ここが関数の機能となるプログラムになります。
そして最後の行の
return c
で
c
の値を戻り値として、呼び出した関数の所に返します。戻り値は最終的に呼び出した関数が戻り値に化けて、この関数の一連の動作が終了します。
function(1, 2)
3
def function(a, b): # 関数を定義する
c = a + b # 関数の機能部分
return c # 関数が作った戻り値
print(function(1, 2))
3
引数を変えて試してみよう!
これでこのプログラムが、理解して読めるようになったはずです。