函数实际上使用的时候,最重要的就是传参
简单来说有一下几种
'''
def func1(x,y):
print(x)
print(y)
func1(x=1,y=2)
'''
将定义的形参的值,指定写入到相应的参数中
结果显示为
1
2
同样的将func1(y=2,x=1),这样传入参数实际并不会影响实际的显示结果
结果仍为
1
2
因为传入参数是按照形参名传入的
若不通过指定参数名进行传参,使用位置参数的方式进行传参
func1(1,2)
func1(2,1)
位置的不同,传入的参数不同,因此实际结果也不同
func1(1,2,3)这样会报错,因为定义的指定参数为2个,你传入了3个值,所以报错,如何解决这种问题,引入冗余参数
‘’‘
def func2(x,*args):
print(x)
print(y)
func2(3,4,5,6)
’‘’
output:
1
(2, 3, 4, 56)
输出结果为1,后面的为元组,指定了一个默认参数,其他的参数都作为冗余参数,然后将其他的参数转化为一个元组
若想把关键字都转化为字典,需要使用kwargs
’‘’
def func3(x,args,*kwargs):
print(x)
print(args)
print(kwargs)
func3(1,2,3,4,5,name='alex,age='8')
'''
输出
1
(2,3,4,5)
{name:'alex',age:'8'}
同时在函数中,我们很多时候会用默认参数,即在定义的时候就指定了参数的值,但这个值是可以改变的,调用时再重新赋值即可
例如:
'''
def func4(name,age=18)
print(name)
print(age)
func4('alex',age=34)
'''
同时可以不改变默认参数值,直接func4('alex')
原则:
网友评论