知行编程网知行编程网  2022-12-27 11:00 知行编程网 隐藏边栏  5 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python不定长参数如何调用函数?的相关知识,包括python 调用函数,以及python怎么查看函数参数这些编程知识,希望对大家有参考作用。

如何在python中调用具有可变长度参数的函数?

我们讲了这么多参数,或多或少都会有一些限制。在学习的时候,发现了一个新的参数,很有意思。长度和类型不固定,这和它的名字很相符,就是变长参数。那么这种参数对调用函数有什么影响吗?带着这个问题,我们来学习一下python中如何调用变长参数的函数。


函数的不定长参数包含*args和**kwargs,完整实例如下:

def function_print(*args,**kwargs): # 传递不定长参数,即参数个数不固定
 print(args)
 print(kwargs)
 
function_print()



输出结果:

()
{}

代码分析:从输出结果可以看出,第一个形参*args是元组类型,第二个形参**kwargs是字典dict类型。

对于任何一个函数,都可以通过func_name(*args, **kw)的形式调用,其中args是得到的列表或元组,kw是得到的字典。列表输入会依次给需要的参数赋值,多余的参数会作为可变参数传入,字典输入会根据key匹配所有参数。如:

def test1(a, b, c=0, *args, **kwargs):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kwargs)
 
def test2(a, b, c=0, *args, d, **kwargs):
    print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'args=', args, 'kw =', kwargs)
 
# 定义一个元组和字典用作参数传入
args = (1, 2, 3, 4)
kw = {'d': 99, 'x': '#'}
 
test1(*args, **kw)
# a = 1 b = 2 c = 3 args = (4,) kw = {'d': 99, 'x': '#'}
test2(*args, **kw)
a = 1 b = 2 c = 3 d = 99 args= (4,) kw = {'x': '#'}




注意函数传参的三种形式:



1.普通传参

2.默认参数,默认参数如果没有对外传递实参,则形参等于默认值

3.注意变长参数的拆包,普通实参打包成元组类型,关键字参数打包成字典dict类型

以上就是调用变长参数函数的方法。相信小伙伴们对这种不限长度和类型的参数很感兴趣。学习一起运行代码,看看是否和编辑器的结果一致~

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享