【Python】関数の引数の種類を色々紹介する

python
あい
あい

今回は位置引数
キーワード引数
可変長位置引数
可変長キーワード引数

について紹介します

[R]※本サイトにはプロモーションが含まれています

関数とは?

コンピュータが行う処理を1つにまとめたもの

引数とは?

関数は引数

データを与え定義することで

関数内でそのデータを利用して

処理を進めることが出来ます

pythonでは引数の定義や

呼び出し方が色々あるので

あい
あい

pythonでは引数の定義や

呼び出し方が色々あるので
今回は色々実装してみようと
思います

関数の引数の位置は対応している

関数呼び出しの時に格納される引数

関数の引数の位置は対応しています

ハンバーガの材料を関数の引数に格納する

プログラムを実装します

ハンバーガーの材料は

バンズ、お肉チーズ、トマト、レタス

あい
あい

おいしそう

def humburger_material(buns, meat, tomato, chees, retus):
    print(f"{buns},{meat},{tomato},{chees},{retus}")

humburger_material("バンズ", "お肉", "トマト", "チーズ", "レタス")

実行結果

あい
あい

引数の位置が
対応してる...

引数の数は呼び出しの引数と

関数の引数は一対一の関係

でないとエラーが発生します

キーワード引数を利用して引数の位置を対応させる

関数呼び出し時に

関数の引数 = 値

とすると引数に入れたいものが

対応してくれます

def humburger_material(buns, meat, tomato, chees, retus):
    print(f"{buns},{meat},{tomato},{chees},{retus}")

humburger_material(meat = "お肉", buns = "バンズ", chees = "チーズ", tomato = "トマト", retus = "レタス")

デフォルト値付き変数

関数呼び出し時

引数にデフォルトの値を

引数に設定できます

def humburger_material(buns, meat, tomato, chees = "チーズ", retus = "レタス"):
    print(f"{buns},{meat},{tomato},{chees},{retus}")

humburger_material("バンズ", "お肉", "トマト")
あい
あい

デフォルトで
cheesとretusに
文字列が
設定されてる!

可変長位置引数

引数に*をつけると

可変長の位置引数を定義できます

慣例として引数は*args

とつけることが一般的

可変長とは関数

渡す引数の数が可変であることを示します

あい
あい

可変長ってどういうこと!?

引数が一つの時

def func_sum(*args):
     print(f"引数のクラスは{type(args)} データの中身は{args}")
     
     total = 0
     for num in args:
         total += num
     return total

sum = func_sum(1)
print(f"合計値は{func_sum(1)}")

出力を確認すると

*argsにタプル型で1が入っています

次に

print(f"合計値は{func_sum(1)}")

を以下のように

複数の引数に変更してみます

print(f"合計値は{func_sum(1,2,3,4,5,6,7)}")

実行結果

最初の実行で

*argsに渡している

引数は1つ次の実行で

7つ引数を渡せているので

可変長であることが確認できました

可変長キーワード引数

引数に**をつけると

可変長のキーワード引数を

作ることができます

**kwargsが一般的です

def information(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

information(name="Saito", age=30, email="Saito@saito.com")

実行結果は

参考文献

あい
あい

3.3関数の引数より

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