多语言展示
当前在线:556今日阅读:195今日分享:41

python函数中如何传递任意数量的实参?

python函数分为有参数跟无参数,有参数的函数又分为位置参数、关键字参数。另外,对于参数的个数也很灵活,可以使用位置参数进行固定个数的参数设置,也可以使用任意数量的参数。接下来跟大家分享一下如何传递任意数量的实参。0python如何让实参变成可选的?0python中什么是位置实参?怎么用?0python中函数如何传递参数?
工具/原料
1

python 3.6.4

2

jupyter notebook

3

windows 7

一、基于位置参数的有限参数
1

首先,我们定义一个打印用户名的函数,参数为users。代码示例如下: def user_info(users):    print(users)

2

接着,向函数传递参数'Albert'并调用函数。代码示例如下: user_info('Albert')

3

然后,我们再试着向函数传递'Albert','Elva'两个参数以调用函数。此时系统报错了,因为定义的函数使用的是位置参数,只允许传递一个参数。代码示例如下:user_info('Albert','Elva')

二、前面加*的形参
1

为了改进上面的代码,我们在定义函数时,在参数前面加个 * 。代码示例如下: def user_info(*users):    print(users)

2

接着,向函数传递参数'Albert'并调用函数。此时的打印结果跟之前的结果稍有不同,结果是一个只有一个元素的元组形式。代码示例如下: user_info('Albert')

3

然后,我们再试着向函数传递'Albert','Elva'两个参数以调用函数。此时,函数正常地运行了,显示结果依然是一个元组的形式。代码示例如下: user_info('Albert','Elva')

三、结合位置参数和*型形参
1

接下来将位置参数跟带 * 的参数结合一起使用,重新定义一个函数。代码示例如下: def user_info(day,*users):    print(day,users)

2

接着,向函数传递参数1,'Albert','Elva','Lily'等4个参数并调用函数。此时的打印结果中,参数1单独输出,而另外3个参数被封装成了一个元组输出。代码示例如下: user_info(1,'Albert','Elva','Lily')

总结

1、位置参数形式固定,个数也固定;2、带 * 的形参实际应用中可传递多个实参,实参以元组形式输出;3、位置参数跟带 * 的形参可混合使用,位置参数在前并单独输出,带 * 的参数在后并以元组形式输出。

推荐信息