引数を受け取る関数を作ろう

学習の目標

本章では、以下の内容を学習します。

  • 引数とは何かを理解する
  • 1つの引数を受け取る関数の作成方法を学ぶ
  • 引数を使った関数の呼び出し方を習得する
  • 名前を受け取る挨拶関数を作って引数の便利さを体験する

はじめに

前回は、同じ処理を何度も実行できる関数を作りました。しかし、毎回全く同じメッセージが表示されるだけでは、少し物足りなさを感じるかもしれません。

今回は、関数をもっと柔軟に使えるようにする引数という仕組みを学んでいきましょう。引数を使うことで、関数に情報を渡して、その情報に応じて異なる処理を行うことができるようになります。

引数とは何か

引数(ひきすう)とは、関数に渡す値のことです。数学の関数で「f(x)」と書いたときの「x」が引数にあたります。

例えば、「こんにちは、○○さん!」という挨拶をするとき、○○の部分は人によって変わりますね。この変わる部分(名前)を引数として関数に渡すことで、誰に対しても同じ形式で挨拶ができるようになります。

引数を使わない場合と使う場合を比較してみましょう。

引数を使わない場合(前回の方法):

def greet_tanaka():
    print("こんにちは、田中さん!")

def greet_sato():
    print("こんにちは、佐藤さん!")

この方法では、挨拶する相手が増えるたびに新しい関数を作る必要があります。

引数を使う場合:

def greet(name):
    print("こんにちは、" + name + "さん!")

引数を使えば、一つの関数で誰に対しても挨拶できるようになります。

1つの引数を受け取る関数を作ってみよう

それでは、実際に引数を受け取る関数を作ってみましょう。VS Codeで新しいファイルfunction_with_args.pyを作成して、以下のコードを入力してください。

def greet(name):
    print("こんにちは、" + name + "さん!")
    print("今日もよろしくお願いします。")

この関数では、nameという引数を受け取っています。関数名の後の括弧の中にnameと書くことで、「この関数はnameという名前の引数を1つ受け取りますよ」ということをPythonに伝えています。

関数の中では、受け取ったnameを文字列の連結で使用しています。nameは関数の中で変数のように扱うことができ、関数を呼び出すときに渡された値が入ります。

引数を使った関数の呼び出し方

引数がある関数を呼び出すときは、括弧の中に渡したい値を書きます。先ほどのコードに関数の呼び出しを追加してみましょう。

def greet(name):
    print("こんにちは、" + name + "さん!")
    print("今日もよろしくお願いします。")

# 関数を呼び出して引数に値を渡す
greet("田中")

このコードを実行してみましょう。

python function_with_args.py

実行結果は以下のようになります。

こんにちは、田中さん!
今日もよろしくお願いします。

素晴らしいですね!関数を呼び出すときに"田中"という文字列を渡すと、関数の中のnameにその値が入り、挨拶メッセージに反映されました。

異なる引数で関数を呼び出してみよう

引数の便利さを実感するために、同じ関数を異なる引数で何度か呼び出してみましょう。

def greet(name):
    print("こんにちは、" + name + "さん!")
    print("今日もよろしくお願いします。")

# 異なる名前で関数を呼び出す
greet("田中")
print()  # 空行を入れる

greet("佐藤")
print()

greet("山田")

このコードを実行すると、以下のような結果が表示されます。

こんにちは、田中さん!
今日もよろしくお願いします。

こんにちは、佐藤さん!
今日もよろしくお願いします。

こんにちは、山田さん!
今日もよろしくお願いします。

一つの関数で、異なる名前に対して挨拶ができました。これが引数の力です。引数を使うことで、関数をより柔軟で再利用しやすいものにできるのです。

変数を引数として渡してみよう

引数には、文字列を直接書くだけでなく、変数に入っている値を渡すこともできます。

def greet(name):
    print("こんにちは、" + name + "さん!")
    print("今日もよろしくお願いします。")

# 変数に名前を入れて、それを引数として渡す
user_name = "鈴木"
greet(user_name)

# ユーザーからの入力を引数として渡す
print("\nあなたのお名前を教えてください。")
input_name = input("名前: ")
greet(input_name)

このコードでは、最初にuser_nameという変数に"鈴木"を入れて、その変数を引数として渡しています。また、input関数でユーザーから名前を入力してもらい、その入力された値を引数として渡しています。

実行してみると、以下のような結果になります。

こんにちは、鈴木さん!
今日もよろしくお願いします。

あなたのお名前を教えてください。
名前: 高橋
こんにちは、高橋さん!
今日もよろしくお願いします。

このように、引数を使うことで、プログラムがより対話的で柔軟なものになります。

数値を引数として受け取る関数

引数は文字列だけでなく、数値を受け取ることもできます。簡単な例を見てみましょう。

def show_age(age):
    print("あなたは" + str(age) + "歳ですね。")
    print("素晴らしい年齢です!")

# 数値を引数として渡す
show_age(25)
show_age(30)

この関数では、ageという引数で年齢を受け取っています。数値を文字列と組み合わせるときは、str()関数を使って数値を文字列に変換する必要があることに注意してください。

実行結果は以下のようになります。

あなたは25歳ですね。
素晴らしい年齢です!
あなたは30歳ですね。
素晴らしい年齢です!

まとめ

本章では、引数を受け取る関数の作成方法について学習しました。

引数を使うことで、関数に情報を渡して、その情報に応じた処理を行うことができるようになります。引数は関数の括弧の中に名前を書いて定義し、関数を呼び出すときに括弧の中に値を渡します。

一つの関数で、異なる値に対して同じ形式の処理を行えるため、コードの再利用性が大幅に向上します。引数には文字列だけでなく数値も渡すことができ、変数に入っている値を渡すことも可能です。

引数を理解することで、関数がより実用的で柔軟なものになりました。この基本をしっかりと身につけて、さらに便利な関数を作れるようになっていきましょう。

このセクションは有料サブスクリプションへの登録、またはログインが必要です。完全なコンテンツにアクセスするには、料金ページ(/pricing)をご覧ください。購入済みの場合は、ログインしてください。

Starterプランでより詳しく学習

この先のコンテンツを読むにはStarterプラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。

作成者:とまだ
Previous
最初の関数を定義してみよう