1.传递任意数量的实参
在你不知道要传递多少个实参的时候,可以在函数调用时使用形参名*toppings ,其中的星号让Python创建一个名为toppings 的空元组,并将收到的所有值都封装到这个元组中。
# 在吃麻辣烫的时候我们也不知道具体要选多少种菜
def eat(*toppings):
print(toppings)
# 只传一个参数
eat('牛肉')
# 传多个参数
eat('牛肉', '菠菜', '娃娃菜')
# 输出结果
('牛肉',)
('牛肉', '菠菜', '娃娃菜')
2.结合使用位置实参和任意数量实参
如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。
def eat(flavor, *toppings):
print('口味:' + flavor)
print('配菜有:')
for topping in toppings:
print(topping)
# 传多个参数
eat('微辣', '牛肉', '菠菜', '娃娃菜')
# 输出结果
口味:微辣
配菜有:
牛肉
菠菜
娃娃菜