参数的话可包含位置参数
def test(x,y)//定义一个函数,函数的名字叫test 函数里有2个参数,一个是x 一个是y
print(x) //打印x
print(y) //打印Y
test(1,2) //位置参数:使用test这个函数,第一个位置x传值为1 第二个位置y传值为2 执行这个函数时,当时定义的函数是打印xy 当执行之后,则会打印出1,2
关键词参数:上面说的是位置参数,那么另一种方式是关键词参数 如果test(y = 1, x=2) 这个时候打印出来的是 2,1 因为函数里先打印的x 再打印的y
test(x,y) X和Y 是形参 ,只是形式参数 但是test(1,2) 1,2是实参 是真实存在占用内存的实参
默认参数:默认参数就是在定义参数的时候 就给特定参数一个默认值 若调用的时候不填写则用默认值,若填写新值则用新值
def test(x,y = 2):
print(x)
prnt(y)
test(1) 这时候输出结果为1,2
test(1,3)这时候输出结果为1,3
参数组:当你实参有n个的时候, 难道还要定义n个形参吗 ? 答案当然不是
我们可以定义形参的时候使用*方式
def test(*args): *后面的hhh是取的名字,这个args可以为任意值
print(args)
test(1,2,3,4,5.....n) 最终输出的内容为(1,2,3,4,5.....n)
参数组可以和默认参数 位置参数 关键词参数 相结合
def test(x,y = 2,*args)
print(x)
print(y)
print(args)
test(1,2,3,4,5,6,7.....n) 这时候其实x - 1 y = 2 剩下的内容全部放到args里了
关键字参数转换成字典
def tst(**kwargs)
print(kwargs)
test(a=“1”,b=“2”) 这时候输出结果为“a”:“1” , “b” : “2”