Pythonの関数には、他の多くの言語と同じく、引数のデフォルト値を指定する機能があります。 例えば以下の関数に引数を一つのみ与えたときは、bには3の値が入ります。
def func1(a, b = 3): return a + b
このデフォルト値に、リスト、辞書などの可変オブジェクトを指定するときは要注意です。デフォルト値は最初の一度しか評価されず、関数を呼ぶたび値が変わってしまう可能性があります。
例えば以下のコード
def func2(a, b = []): b.append(a) print(b) func(7) func(8) func(9)
を実行すると、結果は以下になります。
[7] [7, 8] [7, 8, 9]