ログアウト中 ログイン

学習パッケージを選択

Pythonマスター講座 第6章6.3節「引数の種類と渡し方」




現在の見出し:6.3節:引数の種類と渡し方

見出し一覧

  • 6.3節:引数の種類と渡し方
  • - Pythonの基本的な引数
  • - デフォルト引数
  • - 可変長引数
  • - 引数の制限
  • - 引数のアンパック
  • - 6.3節の演習問題

【PR】『Python』を学べる企業・個人向けのプログラミングコース

Pythonマスター講座第6章 6.3節で学べること

Pythonの基本的な引数

Pythonの引数とは、関数関数は一定の処理をまとめたプログラムの塊です。に値を渡すための仕組みです。引数には複数の渡し方があり、それぞれ異なる特徴を持っています。

位置引数の使い方

位置引数とは、引数の順序によって値が決まる仕組みのことです。位置引数は「関数定義時のパラメータの順序」と「関数呼び出し時の引数の順序」が一致する必要があります。簡単な例を挙げると、1番目は名前、2番目は年齢、3番目は住所というように位置で役割が決まっています。

使用方法として、関数を呼び出すときに関数名(値1, 値2, 値3)のように順番通りに値を渡します。例えば、def greet(name, age):という関数があるとき、greet("田中", 25)のように呼び出すと、最初の"田中"がnameに、次の25がageに自動的に割り当てられます。短い関数や引数が少ない関数では非常に使いやすく、コードも簡潔に書くことができます。

ただし、引数の順序を間違えると、予期しない結果やエラーが発生する可能性があるため、関数定義を確認してから正しい順序で値を渡すことが重要です。特に似たような型の引数(例:年齢と身長のような数値)がある場合は、順序を間違えやすいので注意が必要です。

def greet_user(name, age):
    print(f"こんにちは、{name}さん({age}歳)")

greet_user("田中", 25)
こんにちは、田中さん(25歳)
行数 コード 解説
1行目 def greet_user(name, age): name(名前)、age(年齢)の2つのパラメータを順番通りに受け取る関数を定義
2行目 print(f"こんにちは、{name}さん({age}歳)") f文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。を使って受け取った2つの引数を組み合わせた挨拶文を画面に表示
4行目 greet_user("田中", 25) 位置引数として1番目に"田中"(名前)、2番目に25(年齢)を順序通りに渡して関数を呼び出し

キーワード引数の使い方

キーワード引数とは、引数名を明示的に指定して値を渡す方法で、順序に依存しない仕組みのことです。キーワード引数は「パラメータ名=値の形式」で記述することによって、引数の意味が明確になり、どの値がどのパラメータに対応するかを明示できます。

使用方法として、関数を呼び出すときに関数名(パラメータ名=値, パラメータ名=値)のように書きます。例えば、def create_profile(name, age, city):という関数があるとき、create_profile(city="大阪", name="佐藤", age=30)のように書くことで、関数定義での順序とは関係なく値を渡すことができます。引数の順序を覚える必要がなくなるため、間違いを防げます。

特に「引数が多い関数」や「一部の引数のみを指定したい場合」に便利で、コードの可読性も大幅に向上するため実務でよく使用される方法です。また、関数の引数が増えたり変更されたりしても、キーワード引数を使っていれば既存のコードが壊れにくいという利点もあります。

def create_profile(name, age, city):
    return f"名前: {name}, 年齢: {age}, 住所: {city}"

result = create_profile(city="大阪", name="佐藤", age=30)
print(result)
名前: 佐藤, 年齢: 30, 住所: 大阪
行数 コード 解説
1行目 def create_profile(name, age, city): name、age、cityの3つのパラメータを受け取るプロフィール作成関数を定義
2行目 return f"名前: {name}, 年齢: {age}, 住所: {city}" 受け取った引数の値を使って整理された文字列を作成し、呼び出し元に返す
4行目 result = create_profile(city="大阪", name="佐藤", age=30) キーワード引数を使って順序を気にせずに値を指定し、関数を呼び出して結果をresult変数変数はデータを一時的に記憶しておく場所です。に格納
5行目 print(result) 関数が返した文字列の結果を画面に表示

位置引数とキーワード引数の組み合わせ

位置引数とキーワード引数を組み合わせて使う時は、必ず位置引数を先に、キーワード引数を後に書く必要があります。

使用方法として、関数名(値1, 値2, パラメータ名=値)のように、最初に位置引数を書き、その後にキーワード引数を続けます。例えば、show_info("田中", 28, country="アメリカ")のように書くと、"田中"と28は位置引数として順番通りに渡され、country="アメリカ"はキーワード引数として明示的に指定されます。これにより、必須の情報は簡潔に、オプション的な情報は明確に指定できます。

ただし、キーワード引数を使ったあとに、位置引数を書くことはできません。たとえば、show_info(name="田中", 25)のように書くとエラーになります。これはPythonのルールで、「キーワード引数を使い始めたら、そのあとはすべてキーワード引数で書かないといけない」と決まっているからです。

def show_info(name, age, country="日本"):
    print(f"{name}({age}歳) - {country}")

show_info("山田", 28, country="アメリカ")
山田(28歳) - アメリカ
行数 コード 解説
1行目 def show_info(name, age, country="日本"): nameとageは必須、countryはデフォルト値付きのオプション引数として関数を定義
2行目 print(f"{name}({age}歳) - {country}") 渡された3つの値を使って、見やすい形式で画面に表示
4行目 show_info("山田", 28, country="アメリカ") 最初に位置引数で名前と年齢を渡し、キーワード引数で国を指定
デフォルト引数

第6章6.3節「デフォルト引数」の続きを見る


すべてのカリキュラムを無料登録で学ぶ

プログラミング・マーケティング・AI活用方法を
今すぐ無料登録すると、全てのコンテンツが視聴可能になります。