ProgrammingLab

プログラミングに役立つ情報を更新!

関数を作ってみよう

Python入門ホームに戻る

前々回に関数を学習した時は、Pythonに用意されているmax関数とmin関数を使ってみました。

今回は関数を自分で作っていきましょう!

関数を作ってみる

「関数」とは複数の処理をまとめておいて、任意の場所で呼び出せる機能でしたね。

まずは関数内でprint関数を呼び出すだけのCallPrint関数を作ってみたいと思います。

それでは前回作成したファイルを開いてください。

前回書いたコードが残っている場合はすべて消してください。

それでは以下のコードを入力してみてください。

def CallPrint():
    print("関数が呼び出されました!")

CallPrint()
CallPrint()
CallPrint()

最初の2行目が関数の作成部分です。

関数を作成することは、「関数を定義する」といいます。

関数の定義は、次の形式で記述します。

def 関数名():
    処理1
    処理2
    ...

今回の場合は関数名がCallPrint、処理はprint("関数が呼び出されました!")の部分です。

関数は定義しただけでは使われないので、別途関数を呼び出してあげる必要があります。

4行目からは作成したCallPrint関数を3回呼び出しています。

「F5」で実行するとしっかり3回print関数が呼び出されているのが分かります。

f:id:programming_lab:20210829045517p:plain

関数の処理を書く部分(例の場合は2行目)はスペース4文字を入れる必要があります。

この先頭のスペースを「インデント」と呼びます。

Pythonは関数の処理かどうかはこのインデントで管理しています。

CallPrintの定義を次のように変えてみましょう。

def CallPrint():
    print("関数が呼び出されました!")
print("これは関数で呼び出される処理ではありません!!")

実行してみるとわかりますが、上側のprint関数は3回呼び出されているのに対して

下側のprint関数は1回しか呼び出されていません。

f:id:programming_lab:20210829051630p:plain

これはCallPrint関数には上側のprint関数しか含まれていないということです。

関数に処理を書く際はインデントに注意しましょう!

引数、戻り値のある関数の作成

前に関数にはデータ(引数)を渡す機能と、データ(戻り値)を受け取る機能があるといいました。

今度は引数、戻り値があるバージョンを作っていきたいと思います。

引数に渡した数値を足して、戻り値で返してくれるAdd関数を作っていきます。

下のコードを入力してみましょう。

def Add(val1, val2):
    print("Add関数が呼び出されました!")
    result = val1 + val2
    return result

a = Add(3, 5)
print(a)

b = Add(10, 7)
print(b)

c = Add(a, b)
print(c)

関数定義部分の意味は以下のようになっています。

f:id:programming_lab:20210829044429p:plain

1行目はVal1、Val2という2つの引数を持つAddという名前の関数を定義するという意味です。

2、3行目は関数の処理部分です。

2行目はprint関数を読んで、関数が使われたときに視覚的にわかりやすいようにしました。

3行目はresultという変数に、引数2つを足した値を入れています。

4行目は3行目で作ったresultという変数を戻り値として帰すように設定しています。

returnというのは関数を終了させる命令で、戻り値はreturnの後に書きます。

「F5」で実行すると以下のような結果になりました。

f:id:programming_lab:20210829040430p:plain

引数で渡した数値が加算されているのが分かると思います。

今回は引数と戻り値が両方ある関数を作りましたが、どちらかが無い関数も作成可能です。

まとめ

今回は関数の作り方を学習していきました。

これから関数はたくさん作ることになるため、難しいですが徐々に慣れていきましょう。

これでPython基本編は終わりです。

皆さんお疲れさまでした!!

次からはいよいよゲーム制作編です。

だんだん楽しくなってくるので、少しづつ頑張りましょう!

次:サンプルを動かしてみよう