【レベル3】関数の引数

関数の引数を詳しく解説!

関数の引数:渡す側と受け取る側の名前は違っても大丈夫!

「呼び出す側(渡す側)」の変数名と、「関数(受け取る側)」の引数名は、必ずしも同じ名前にする必要はありません。

💡 なぜ名前が違っても動くの?

関数を呼び出すときに渡しているのは「変数そのもの」ではなく、「変数の中に入っている値(データ)だけ」だからです。

# 税込価格を計算して表示する関数(受け取る側の引数名は 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つ選んでください。

タイトルとURLをコピーしました