mathpython

Pythonのデフォルト引数で省略可能のスッキリした関数を作る

Pythonにはデフォルト引数という機能がある。通常、Pythonの関数は次のように用意して使う。

def show(a):
    print(a)

show('Hello')

出力

Hello

aに相当する値(上の例ではHello)は必ず入れないといけない。これが通常の引数である。

デフォルト引数

Pythonではデフォルトの引数を用意できる。

def show_d(a='World'):
    print(a)

show_d()

出力

World

show_dに何も入れていないのにWorldが出力されている。これは関数側で引数aのデフォルトをWorldにしているためである。なにか入れるとどうなるだろうか。

def show_d(a='World'):
    print(a)

show_d()
show_d('OK')

出力

World
OK

関数に値を入れると、その値がデフォルトよりも優先される。デフォルト引数を使うと、この例のように、関数を使う側で引数を省略できるというメリットがある。

実際、Pythonのパッケージの多くはデフォルト引数の機能を使っている。ユーザーからの入力は本来必要だが、ユーザーに負担をかけないために最低限のデフォルトは用意しておきたいという関数に使われている。

広告

教育総合サイト

高校化学専門サイト

色辞典

数の辞典