美文网首页
Python结合使用位置实参和任意数量实参(78)

Python结合使用位置实参和任意数量实参(78)

作者: 一日歌 | 来源:发表于2017-08-23 00:27 被阅读53次

如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。

白话下,任意数量的参数和固定格式的参数参数怎么组合呢?那首先解决少的,然后后面放任意数量参数。

例如,如果前面的函数还需要一个表示比萨尺寸的实参,必须将该形参放在形参*toppings的前面:

python大大的图

我的图

Python将收到的第一个值存储在形参size中,并将其他的所有值都存储在元组toppings中。在函数调用中,首先指定表示比萨尺寸的实参,然后根据需要指定任意数量的配料。

依据这个定义,*toppings能够放进size之后的所有参数,如果在它后面再放一个形参,这个形参将无对应值导致python报错

即使在*toppings后面的参数给了默认值也不行。

这么看来,带星号的形参后面真的不适合放任何形参。

相关文章

网友评论

      本文标题:Python结合使用位置实参和任意数量实参(78)

      本文链接:https://www.haomeiwen.com/subject/unvrdxtx.html