函数的参数
1、必须参数(位置参数)
调用函数时根据函数定义的参数位置来传递参数。
def test1(x,y):
print("x={0},y={1}".format(x,y))
print("x + y = ",x + y)
#调用函数:必须参数必须传值,且实参与形参位置一一对应
test1(1,4)
2、默认参数
用于函数调用,通过“键-值”形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。
def test2(x,y,pore = "+"):
print("x:{0},y:{1}进行{2}运算".format(x,y,pore))
#调用函数:默认参数不传递值时,调用默认参数
#一般默认参数放在必须参数的后面
test2(3,4)
test2(5,6,"*")
3、实参关键字参数
def test3(x,y,pore):
print("x:{0},y:{1}进行{2}运算".format(x, y, pore))
#调用函数:可以打破默认参数的传递顺序
test3(3,4,"+")
test3(y = 3,x = 7,pore="+")
4、实参强制关键字参数
#必须使用实参关键字参数传值
def test4(*,x,y,pore):
print("x:{0},y:{1}进行{2}运算".format(x, y, pore))
test4(y = 5,x = 7,pore="&")
5、可变参数
a = (1,2,3,4,5)
#
def sum(*args):
print("可变参数的形参将参数封装到tuple中:",args)
#输出时再次解包
print(*args)
#这里将元组a解包成1,2,3,4,5
#元组解包
sum(*a)
#将传入的参数包装在tuple中
sum(1,2,3,4)
6、关键字可变参数
def test(**kwargs):
print("传入的关键字可变参数存放到字典中,key-value一一对应")
print(**kwargs)
#调用函数
test(name="jeery")
test(name='tom',sex="男")
test(name='mark',sex="男",age=19)
结果:
传入的关键字可变参数存放到字典中,key-value一一对应
{'name': 'jeery'}
传入的关键字可变参数存放到字典中,key-value一一对应
{'name': 'tom', 'sex': '男'}
传入的关键字可变参数存放到字典中,key-value一一对应
{'name': 'mark', 'sex': '男', 'age': 19}