Python3.7函数进阶:可变参数与星号传递

0 下载量 72 浏览量 更新于2024-08-31 收藏 61KB PDF 举报
在Python 3.7的零基础学习中,函数是编程的核心组成部分,本文主要讲解了函数调用中的一个重要特性——可变参数。可变参数允许你在函数定义时不确定传递给函数的具体参数数量,这在处理不确定数量的输入时非常实用。 首先,可变参数(*args)通过将实际参数打包成一个列表或元组来实现。在函数`sun()`的定义中,`def sun(arr):`中的`arr`是一个可变参数,表示它能接受任意数量的单个或多个参数。在调用函数时,无论是`sun((1, 2, 3, 4, 5))`还是`sun([1, 2, 3, 4, 5])`,都会正确地累加所有传入的数值并返回结果。 此外,Python提供了一种简化的可变参数写法,即在形式参数前加上`*`,如`def sun(*arr):`。这种写法意味着不论传入的是单个参数还是多个参数,都可以自动合并为一个列表。例如,`sun(1, 2, 3, 4, 5)`和`sun(1, 2, 3)`都会得到预期的结果,而无需关注实际参数的类型。 然而,如果在定义函数时使用了`*args`,并且在调用时直接传递一个列表或元组,如`sun((1, 2, 3, 4))`,会引发`TypeError`,因为函数期望的是单个参数而不是一个包含多个值的序列。这提醒我们在使用可变参数时,需要确保调用方式与函数定义匹配。 总结来说,理解并掌握可变参数是Python函数设计中的关键技能,它允许函数处理不定数量的参数,提高代码的灵活性。在实际编程中,合理利用可变参数能够简化代码,并且处理各种输入情况。同时,需要注意错误处理,确保函数在不同类型的参数传递下都能正常运行。