# 函数的参数
"""
形参:形式参数,不是实际存在的,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在调用函数时,传递实参。形参和实参是一一对应的
实参:实际参数,调用函数时传递给函数的,可以是常量,变量,表达式,函数,传给形参
"""
# 必备参数
def person(name, age, sex='male'): # name,age和sex是形参, males是sex的默认值
print('My name is {},age is {},sex is {}'.format(name, age, sex))
person('abc', 18) # 'abc' 18是实参,位置上一一对应,sex没有对应的实参,使用默认值
person(age=18, name='abc') # 通过关键字传递参数,sex没有对应的实参,使用默认值
person(age=18, name='abc', sex='female') # 通过关键字传递参数
# 不定长参数
"""
1、无法确定传入参数数量,使用不定长参数
2、分为无命名参数,和有命名参数
3、无命名参数直接传值
4、有命名参数传递的是字典(key=value)形式
"""
# 无命名参数
def add(*args):
print(args)
result = 0
for i in args:
result += i
print(result)
add(1, 2, 3, 4, 5)
# 有命名参数
def person_info(**kwargs):
print(kwargs)
person_info(name='abc', age=18, sex='male')
# 同时使用,args接收无命名参数。kwargs接收命名参数
def person_add(*args, **kwargs):
print(args)
print(kwargs)
person_add(1, 2, 3, name='abc', age=18)