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'>
なにもなくても引数はタプルとして扱われています。