Python函数有哪几种参数类型?

2025-11-02 07:10:53

1、【1】位置参数

函数调用时,实参默认按位置顺序进行传递,并且要求个数和形参完全匹配瞧败。这就是位置参数!

# 位置参数

 

def postion_fun(a,b,c):

 

print("a = {0},b = {1},c = {2}".format(a,b,c))

 

postion_fun(10,59,2019)

 

postion_fun(10,59)

案例中的函数定义救盲海一个打印接收到的三个参数值。一次调用函数时传入三个实参,另一次调用则只传入两个实参。

我们看看执行的效果见图:

结论:

1、传入三个参数的调用成功,并且实参对应函数形参的位置被打印出来;

2、传入两个参数的调用失败,Python弹出“缺少一个参数c”的报错信息。

Python函数有哪几种参数类型?

2、【2】默认参数

针对位置参数少传一个参数报错的问题,我们是否可以设置一个默认的值呢?这样在函数调用时不用传入该参数时也不会报错。这就是“默认参数”。

# 默认参数

 

def default_fun(a,b,c = 2019):

 

print("a = {0},b = {1},c = {2}".format(a,b,c))

 

default_fun(10,59,"职说职语")

 

default_fun(10,59)

案例中的函数定义一个打印接收到的三个参数值,其中一个参数设置了默认值。一次调用传入三个参数,另一次调用传入两个参数。

结论:

1、函数调用传入三个参数时,按实参与形参的位置对应关系打印三个实参的值;

2、函数调用传入两个参数时,按实参与形参的位置对应关系打印两个实参的值和函数定义的一个默认形参值。

Python函数有哪几种参数类型?

3、【3】命名参数

针对位置参数与默认参数调用必须实参与形成位置对应的要求,我们是否可以在调用时制定形参的具体实参值,来规避违背这种要求带来的问题呢?

【结论】采用指定形参的具体实参值是可以增加函数调用的灵活性。

Python函数有哪几种参数类型?

4、【4】可变参数:元组

具体代码见图,通过执行效果可得知:在函数定义时,用*param(一颗星号)表示收集多个参数值组成一个元组。

Python函数有哪几种参数类型?

5、【5】可变参数:字典

# 字典参数

 

def tuple_fun2(a,b,**c):

 

print("a = {0},b = {1},c = {2}".format(a,b,c))

 

tuple_fun2(10,59,name="职说职语",job="自由工作者")

结论:在函数定义时,用**param(两颗星号)表示收集多个参数值组成一个字典。

Python函数有哪几种参数类型?

6、【6】可变参数:元组与字典参数融合

# 元组与字典参数

 

def tuple_fun3(a,b,*c,**d):

 

print("a = {0},b = {1},c = {2},d = {3}".format(a,b,c,d))

 

tuple_fun3(10,59,2019,"职说职语",name="职说职语",job="自由工作者")

结论:两种参数都可以出现在一个函数中,并且安装实参与形参的对应位置进行结果组装。

Python函数有哪几种参数类型?

7、【7】强制命名参数

我们问最后一个问题:可变参数在函数定义时是否可以放置任意位置呢?函数调用时低泥是否有什么要求呢?

定义函数时把元组参数放到最前面,那调用函数时,该参数默认是收集所有传入的实参后组成元组,如果要是后面两个参数有值并保证函数调用正常,则必须采用强制命名参数方式制定实参传入形参的值。

代码及执行效果见图:

Python函数有哪几种参数类型?

1、Python函数总共有7类参数,可以灵活使用。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢