python专题:函数参数的四种形式

231 阅读2分钟
原文链接: zhuanlan.zhihu.com

一、函数参数的四种形式

1、不定长参数:指参数的数量不确定,可随时增加与减少

(1)以*为不定长参数符号

(2)约定变量名为args

(3)调用函数时,传入参数的数据类型不限

#不定长参数
def fun2(*args):                                  #定义函数,其中*为不定长参数符号,args为约定的变量名
    print(args)
    for i in args:
        print(i)
fun2(1,3.14,True,3+0.14j,'a',[1,2],(3,4),{1,'a','b'},{'name':'tony'})  #调用函数,不定长参数的数量可以改变,类型不限

2、关键字参数:指通过关键字传递参数

(1)以**为关键字参数符号

(2)约定变量名为kwargs

(3)调用函数,通过关键字传递参数,以字典形式输出

#关键字参数
def fun3(**kwargs):                                #定义函数fun3,其中**为关键字参数符号,kwargs为约定的变量名
    print(kwargs)
    for i in kwargs:
        print(i)
fun3(name1 = 'Tony',age1 = 18)                     #调用函数,关键字传参数,以字典形式输出

3、位置参数:指按对应位置传递参数

(1)调用函数,通过对应位置传递参数值

(2)调用函数,实际参数值与变量相对应

#位置参数
def fun4(name2,age2,city2):                         #定义函数fun4,设定位置参数
    print(name2,age2,city2)
fun4('Lingting1',20,'Tanzhou')                      #调用函数,实际参数值与相应位置的变量相对应
fun4(name2 = 'Lingting2',city2='Beijing',age2 = 18) #调用函数,实际参数值与变量相对应

4、默认参数:指参数已设定默认值

(1)调用函数时,若未传递参数值,则输出默认参数值

(2)调用函数时,若传递新的参数值,则覆盖默认参数值

#默认参数
def fun5(name3 = 'Lingting',age3 = 18) :           #定义函数,设定参数默认值
    print(name3,age3)
fun5()                                             #调用函数,输出默认参数值
fun5('Tony',20)                                    #调用函数,覆盖默认参数值
fun5(age3 = 21,name3 = 'Jack')                     #调用函数,覆盖相应的默认参数值