1. 必备参数(普通参数)
def test1(name,age)
test1(‘python’,23) #传参的顺序和函数里的顺序一致
2. 关键字参数
def test2(name,age)
test2(name=‘ellie’,age=9)#参数顺序可以和函数里的不一致
3. 默认参数
def test3(name,age,point=98)
test3(‘ellie’,23)#points没有传参数时,默认使用默认值
test3(‘ellie32’,34,90)#默认值传参数时,将不会使用默认值
4. 不定长参数(可变参数)
def test4(*args,**kwargs)
test4(1,2,‘pytho’,34)
Note:
1. 关键字参数和普通参数可以混合使用,但是必须普通参数在前,关键字参数在后,且关键字参数后不能在有普通参数
如: test2(name=‘ellie’,23) 报错
2. 带默认参数的函数中,默认参数必须放在最后,否则报错
如: test3(point=90,name,age) 报错
5. 一维参数args,传数组/列表参数
def test5(*args)#args返回的是元组,所以可以进行遍历
list1=[1,2,3,4]
def test5(arg1,arg2,*arg):#arg1,arg2是普通参数,*arg是可变参数
value=arg1+arg2
for i in arg:
value+=i
return value
test5(1,2,*list1) #*表示将list里面的值进行传递 ,等价于test5(1,2,1,2,3,4)
6. 二维参数kwargs,可变参数处理关键字参数
def test6(**kwargs) #kwargs返回的是一个字典
test6(‘ellie’)#会报错,因为test是关键字参数,而传递的是普通参数
test6(name=‘ellie’)#正确,返回值是{name:“ellie”}
字典传递:
dict1={“name”:‘ellie’,“age”:23,“points”:80}
list1=(1,2,3,4)
def test7(*list,**kwargs):
print(“啦啦啦啦”)
test7(*list1,**kwargs)#相当于传递普通参数1,2,3,4,和关键字参数“name”=‘ellie’,“age”=23,“points”=80