関数のより高度な使い方

関数の基本(defreturn)はバッチリですね。
ここでは、さらに便利でプロのようなプログラムを書くための「関数の高度なテクニック」を3つ紹介します。

1. 引数に「初期値」を設定する

関数を呼び出す時、引数(渡すデータ)をうっかり忘れるとエラーになってしまいます。
でも、「もし何も渡されなかったら、とりあえずコレを使ってね」と、あらかじめデフォルト値(初期値)を決めておくことができます。

default_args.py
Loading...

2. 複数の値を同時に返す (タプルの活用)

通常、return で返せる結果は1つだけだと思っていませんか?
実はPythonでは、カンマ(,)で区切るだけで、複数の値を一遍に返すことができます。裏側では、これらは「タプル」という変更不可のハコにひとまとめにされて返ってきています。

multi_return.py
Loading...

3. 無制限に引数を受け取る (*args と **kwargs)

「いくつのデータが渡されるか分からない…」そんな時は、引数の前に * (アスタリスク) をつけます。
よく使われる名前から、*args (アーグス) と呼ばれ、渡されたものをすべて「タプル」にまとめて受け取ってくれます。

args_test.py
Loading...

さらに、辞書のように「名前付きのデータ」を無制限に受け取る **kwargs (カーグス) という必殺技もあります。プログラミング上級者を目指すなら、ぜひ覚えておきましょう。

🎯 練習問題:割り算マシーン!

2つの数字 ab を受け取って、
「割り算の商(何回割れるか)」「余り(いくつ余るか)」 の2つを同時に return で返す関数 divide を作ってください。
※ヒント:商は //、余りは % で計算できます。

multi_return_practice.py
Loading...