在Python中,函数的参数有以下几种:不可变参数、默认参数、可变参数、关键字参数。
这篇博文主要讲解可变参数和关键字参数。
1. 可变参数
可变参数顾名思义就是参数个数可以变化的参数,可以是0或多个,一般用“*args”表示。可变参数会把传递进去的参数整合成元组,进而传递给函数。下面例子中给函数传递了两次参数,1个和4个参数,代码如下:
def make_pizza(*args):
"""打印顾客点的所有配料"""
print(args)
make_pizza('pepperoni')
make_pizza('mushrooms','green peppers','extra cheese')
输出如下:
>>> ================================ RESTART ================================
>>>
('pepperoni',)
('mushrooms', 'green peppers', 'extra cheese')
2. 关键字参数
使用关键字参数我们可以给函数传递0或多个键值对,一般用“**kw”表示,这些键值对会被整合成字典传递给函数,举个栗子:
def person(name, age, **kw):
profile = {}
profile['name'] = name
profile['age'] = age
for key,value in kw.items():
profile[key] = value
return profile
user_profile = person('Adam', 45, gender='M', job='Engineer')
print(user_profile)
输出如下:
>>> ================================ RESTART ================================
>>>
{'name': 'Adam', 'age': 45, 'job': 'Engineer', 'gender': 'M'}