環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Python の可変長引数 args とはなにか?

最終更新日 2023.02.18

* がついた引数を可変長引数 arbitrary arguments といいます。ほとんどのプログラミング言語は args と省略して呼びます。

def eat(*foods):
    print(foods)


eat('pizza', 'hamburger')

# ('pizza', 'hamburger')

可変長引数 foods に 2 つの値をいれています。いくらいれてもかまいません。

def eat(*foods):
    print(foods)


eat('pizza', 'hamburger', 'sandwich')

# ('pizza', 'hamburger', 'sandwich')

可変長引数にあるそれぞれの要素をとりだす

def eat(*foods):
    for food in foods:
        print(food)


eat('pizza', 'hamburger', 'sandwich')

# pizza
# hamburger
# sandwich

可変長引数はタプル

def eat(*foods):
    print(type(foods))


eat('pizza', 'hamburger', 'sandwich')  # <class 'tuple'>
eat()  # <class 'tuple'>

なにもなくても引数はタプルとして扱われています。