関数の引数を詳しく解説!
関数の引数:渡す側と受け取る側の名前は違っても大丈夫!
「呼び出す側(渡す側)」の変数名と、「関数(受け取る側)」の引数名は、必ずしも同じ名前にする必要はありません。
💡 なぜ名前が違っても動くの?
関数を呼び出すときに渡しているのは「変数そのもの」ではなく、「変数の中に入っている値(データ)だけ」だからです。
# 税込価格を計算して表示する関数(受け取る側の引数名は price)
def total_amount(price):
tax_included = price * 1.1
print("税込価格は" + str(tax_included) + "円です")
# 1. 渡す側の引数名は「apple_price」でOK!
apple_price = 100
total_amount(apple_price)
# 2. 別の変数名(item_price)でもOK!
item_price = 500
total_amount(item_price)
# 3. 変数を使わず、直接数値を渡してもOK!
total_amount(1000)
引数名が違っても動く仕組み
- 関数を定義するとき(受け取る側)
def total_amount(price):のは、いわば「データを入れる箱のラベル」です。price
- 関数を呼び出すとき(渡す側)
と書くと、変数total_amount(apple_price)apple_priceの中身である100という「値(データ)」だけが箱()にコピーされて渡されます。price
引数名そのものが引き継がれるのではなく、「中身の値」だけが受け渡されるため、受け取る側と渡す側の引数名が異なっていても問題ありません。
「関数の外で何と呼ばれているか」に関わらず、関数の中に値が入った瞬間からすべて受け取り側の引数名(上記の例では price)として扱われます。
練習問題
関数の引数について、練習問題で確認しよう。確認問題
以下のプログラムを実行したとき、画面にはどのように表示されるでしょうか?
def show_message(text):
print("メッセージ:" + text)
msg = "こんにちは"
show_message(msg)
【問題】 出力結果として正しいものを1つ選んでください。
応用問題
以下のプログラムを実行したとき、画面にはどのように表示されるでしょうか?
def print_item_info(name, price):
print(name + "は" + str(price) + "円です")
item_price = 150
item_name = "みかん"
print_item_info(item_name, item_price)
【問題】 出力結果として正しいものを1つ選んでください。


