Python 参数类型

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

你可能感兴趣的:(Python 参数类型)