--这是决策不拍头公众号的第277篇原创--
日更:92/100
继续来看函数,它还可以被传入一个列表,如下所示:
虽然只有一个参数names,但在这里表示它是一个列表。我们调用函数看下结果:
如果你想传入任意数量的参数(不是列表的形式),那么可以在形参前加一个“*”。比如:
我可以只传入一个参数:
我也可以传入多个参数:
我们看到,输出结果都用小括号包起来了,说明结果是一个元组。也就是说,在形参前加星号,表示可以接受任意数量的实参,同时将其变成元组。
既然返回的是元组,我们就可以用for循环将其元素一一提取:
如果传入单个实参:
如果有多个实参:
如果定义函数时有多个参数,那么带星号的形参要放到最后面:
先来看2个实参的情况:
此时实参和形参一一对应。
如果有多个实参,将变成这样:
可以看到,第一个实参对应了形参location,然后剩余的所有实参都对应了形参*names,因为它可以接受任意数量的实参。
如果形参前有2个星号,它将变成一个字典。也就是说,它可以接收任意数量的键值对,同时将其变成字典。比如下面这个函数:
这个函数在你传入参数name和score后,会将其变为字典。我们来调用函数看下结果:
我们传入了3个参数,最后一个是变量赋值的形式。那么左边的变量将作为键,右边的字符串将作为值。来看下结果:
**info将参数变为了字典。
今天的内容到此为止,看到这里的小伙伴点个赞再走啊!