まず結論
引数は、関数に渡す値です。
def greet(name):
print(name + "さん、こんにちは")
greet("モコ")
このコードでは、"モコ" が name に入ります。
引数は、関数の中で使うために外から渡す値です。
イメージで考える
関数は、小さな作業台のようなものです。
呼び出し側の greet("モコ") は、作業台に "モコ" という材料カードを渡します。
受け取った材料カードは、関数の中では name という名前で使われます。
呼び出し側と def 側を、材料を渡す入口として見比べると読みやすいです。
def側の名前に値が入る
関数を呼ぶとき、渡した値が def 側の名前に入ります。
def double(number):
return number * 2
result = double(5)
print(result)
double(5) と呼ぶと、number に 5 が入ります。
そのため、結果は 10 になります。
引数があると使い回せる
引数を使うと、同じ関数を別の値で使えます。
def greet(name):
print(name + "さん、こんにちは")
greet("モコ")
greet("ソラ")
関数の中身を何度も書かなくて済みます。
引数が2つある場合
引数は複数にできます。
def add(a, b):
return a + b
print(add(2, 3))
a に 2、b に 3 が入ります。
よくあるエラー
必要な引数を渡し忘れるとエラーになります。
def greet(name):
print(name + "さん")
greet()
関数が name を必要としているのに、呼び出し側で値を渡していないためです。
読み方のコツ
関数を読むときは、呼び出し側と定義側を対応させます。
greet("モコ")
def greet(name):
この2行を見比べて、「name に "モコ" が入る」と読むと分かりやすくなります。
手を動かすミニ練習
関数に渡す名前を変えて、表示がどう変わるか試しましょう。
def greet(name):
print(name + "さん、こんにちは")
greet("モコ")
greet("Python")
呼び出すときに渡した値が、関数の中の name に入ります。
3行まとめ
- 引数は関数に渡す値。
- def側の名前には、呼び出し時に渡した値が入る。
- 引数を使うと、同じ関数を違う値で使い回せる。