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

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

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

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

python大大的图

我的图

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容