连小编都没想到一个小小的函数要分享这么多期~
当然,主要原因是!
不好意思,放错图了是!
今天和大家分享函数的最后一个部分,虾米呢?
前期有分享过传递一个实参,设置默认初始化的实参,变换位置的实参,某个列表作为实参,今天分享的是传递任意数量的实参!
我们先看这个案例
如果我们定义某个函数只有一个形参,输入多个实参的时候就会提示报错,因为Python要求除了有默认初始值的参数外,数量必须与函数定义的保持一致。
但是有时候工作中就是要输入未知个数的实参,怎么解决呢?
如果想让任意数量的实参都不报错,需要在形参定义的时候前面多个星号!
这样函数传递多少个参数进去都不会报错,此时实参传递进去的是什么东西呢?是以什么形式进行存储的呢?
我们将打印改为换返回这个形参,并且赋值给了list1变量,再用Type函数获取list1变量的数据类型。
发现返回值是tuple,证明这个list1参数的存储方式是元组。
其实看之前的Print值的时候我们已经可以看到所有的打印结果都是小括号括起来的,小括号括起来其实就是元组的意思。
所以如果定义函数的时候,形参前面多个星号,代表可以输入多个实参,在定义函数之时这个形参已经默认变量类型为元组;当调用函数时,多个参数以元组的形式赋值给形参!
接下来我们换个形式呈现一下这个函数
我们使用for循环语句打印里面的每个内容!
这个应用和传递一个列表进函数有虾米区别?
我们将列表改为元组呢?
条条大路通罗马噻~ 给你多个解决方案有咩问题!!!!
那如果我的函数是指定位置实参和任意数量实参混合应用呢?
我们需要将固定位置的放在前面,不定数量的放在后面,这样子Python可以按照先后顺序,将不同实参传递到函数之中!
当然参数传递还有更为复杂的方式,作为基础知识分享,及小编的个人感悟,分享到现在已经足够,最主要函数变量类型的灵活性让我们可以在调用函数的时候变得非常的随心所欲,无论后期遇到多复杂的应用,根据前几期分享的内容,基本上还是可以理解看懂的~
下期和大家分享类!