【Python】関数の呼び出し方とパラメーターの設定方法を解説!サンプルコード付き
定型的な同じパターンの処理をするなら、「関数」にしてしまうという手があります。
一連の処理を行うコードを1つのブロックとして、これに名前を付けて管理できるようにしたのが「関数」です。
関数は「名前の付いたコードブロック」なので、ソースファイルのどこにでも書くことができます。
ただし、同じソースファイルの中から呼び出して使う場合は呼び出しを行うソースコードよりも前(上位の行)に書いておく必要があります。
今回は関数の以下の内容について解説していきます。
・関数の呼び出し方
・パラメーターの設定方法
目次
関数とは
関数とは「何か値を渡すことで、何かの値が帰ってくる。」という仕組みを言います。
例えば自動販売機にお金を入れると、飲み物がでてきます。
お金という値を自動販売機へ渡すことでその金額に応じた飲み物が出てきます。
このように、「何か値を渡すことで、何かの値が帰ってくる。」このような仕組みのことを関数と言います。
関数の書き方
関数の構文は下記となります。
1 2 3 |
def 関数名(): 処理 ... |
関数を作成するには、defキーワードに続けて関数名を書き、その後に()つけて最後にコロン(:) を付けます。
関数を使ったサンプルコード
例
1 2 3 4 5 |
def drink(): print("コーラをどうぞ!") drink() |
出力結果
コーラをどうぞ!
drinkという名前の関数を作成し、drink()と呼び出すことでdrinkの関数を動かすことができます。
今回、Drink関数の中身は「コーラをどうぞ!」を表示する関数となっていますので「コーラをどうぞ!」が表示されています。
関数の呼び出し方
処理だけ行う
最もシンプルなパターンの関数です。呼び出すと関数の中に書いてある処理だけを実行します。
例
1 2 3 4 5 |
def action(): print("投げる") drink() |
出力結果
投げる
引数を受け取る
関数では、引数として渡されたデータ(パラメータ)を使って受け取ることができます。
1 2 3 |
def 関数名(パラメータ): 処理 ... |
パラメーターは引数を受け取るための変数です。
カンマ(,)で区切ることで必要な数だけパラメーターを設定できます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
def action(ball_a, ball_b): print(ball_a + "を投げる") print(ball_b + "を蹴る") action("野球ボール", "サッカーボール") def add(num1, num2): result = num1 + num2 print("合計は"+ str(result)) add(13, 67) |
出力結果
野球ボールを投げる
サッカーボールを蹴る
合計は80
返り値を指定する
関数を呼び出すと何かの値を返してくれる関数があります。
このような関数は処理結果を戻り値として返すようになっています。
1 2 3 4 |
def 関数名(パラメータ): 処理 ... return 戻り値 |
関数の処理の最後の「return 戻り値」で処理した結果を呼び出し元に返します。
戻り値には文字列や数字のリテラルを直接、設定できますが、多くの場合は関内で使用している変数名を指定します。
何かの処理結果を変数に代入し、その変数をreturnで返すのが一般的な使い方です。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
def action(ball_a, ball_b): print(ball_a + "を投げる") print(ball_b + "を蹴る") return ball_a + "を投げる" suzuki = action("野球ボール", "サッカーボール") print("鈴木は結局" + suzuki) def add(num1, num2): result = num1 + num2 print("合計は"+ str(result)) return result test_sum = add(80, 90) num3 = 78 print("3科目の合計点数は" + str(test_sum + num3) + "です。") |
出力結果
野球ボールを投げる
サッカーボールを蹴る
鈴木は結局野球ボールを投げる
合計は170
3科目の合計点数は248です。
パラメーターの設定方法
パラメータ名を指定して引数を渡す
呼び出し側の引数と関数のパラメーターの順番は同じである必要があります。
しかし、パラメーターが多い場合は引数を書く順序が煩わしく、それが原因で間違いになる可能性があります。
このような場合はパラメーター名を指定して引数の値を設定します。
1 |
パラメーター名 = 引数にする値 |
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
def action(ball_a, ball_b): print(ball_a + "を投げる") print(ball_b + "を蹴る") return ball_a + "を投げる" suzuki = action(ball_b = "サッカーボール", ball_a = "野球ボール", ) print("鈴木は結局" + suzuki) def add(num1, num2): result = num1 + num2 print("合計は"+ str(result)) return result test_sum = add(num1 = 80, num2 = 90) num3 = 78 print("3科目の合計点数は" + str(test_sum + num3) + "です。") |
出力結果
野球ボールを投げる
サッカーボールを蹴る
鈴木は結局野球ボールを投げる
合計は170
3科目の合計点数は248です。
パラメーターに初期値を設定する
パラメーターを持つ関数には必ずしも引数を渡さなくてはならないわけではありません。
関数側でパラメーターの値を設定しておけば、引数が渡されていない場合に設定済みの値が使用されるようになります。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
def action(ball_a, ball_b = "サッカーボール"): print(ball_a + "を投げる") print(ball_b + "を蹴る") return ball_a + "を投げる" suzuki = action(ball_a = "野球ボール", ) print("鈴木は結局" + suzuki) def add(num1, num2 = 90): result = num1 + num2 print("合計は"+ str(result)) return result test_sum = add(num1 = 80) num3 = 78 print("3科目の合計点数は" + str(test_sum + num3) + "です。") |
出力結果
野球ボールを投げる
サッカーボールを蹴る
鈴木は結局野球ボールを投げる
合計は170
3科目の合計点数は248です。
返り値を複数指定する場合
カンマ区切りでreturnするだけで文字列だや数値をまとめて返すことができます。。
しかし、戻り値の型はタプルとなるため注意してください。
例
1 2 3 4 5 6 7 8 9 |
def action(ball, speed): print(ball + "を投げた。速度は" + str(speed) + "km/h") return ball, speed suzuki = action("野球ボール", 160) print(suzuki) |
出力結果
野球ボールを投げた。速度は160km/h
(‘野球ボール’, 160)
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。