pin_drop当前位置:知识文库 ❯ 图文
Python可变参数*args详解*
概述
*args允许函数接收任意数量的位置参数,这些参数会被收集为一个元组。当不确定调用时会传递多少个参数时,*args非常有用。
语法
代码示例
def func(*args):
pass基本用法
代码示例
def add_all(*numbers):
total = 0
for n in numbers:
total += n
return total
print(add_all(1, 2, 3))
print(add_all(1, 2, 3, 4, 5))args是元组
代码示例
def show_args(*args):
print(type(args))
print(args)
show_args(1, "hello", True)与普通参数混用
代码示例
def greet(greeting, *names):
for name in names:
print(f"{greeting}, {name}!")
greet("Hello", "Alice", "Bob", "Charlie")注意事项
提示:*args收集多余的位置参数为元组。args是约定名称。与普通参数混用时,*args放在最后。只能有一个*args。
小结
-
*args收集多余的位置参数为元组
-
args是约定名称,可以用其他名字
-
与普通参数混用时,*args放在最后
-
只能有一个*args
练习题
练习1
编写函数find_max(*numbers)返回最大值
练习2
编写函数concat(*strings)拼接所有字符串
常见问题
*args收集的数据是什么类型?
*args收集的数据是一个元组(tuple),元组是不可变的序列类型,可以包含任意数量的元素。
args这个名字可以换吗?
可以。args只是一个约定俗成的名称,你可以使用任何合法的变量名,如*numbers、*items等,但建议使用args以保持代码一致性。
*args可以放在参数列表的前面吗?
可以与普通参数混用,但*args必须放在普通位置参数之后。这样可以先接收固定参数,再用*args接收剩余的参数。
标签:
Python
可变参数
*args
函数参数
元组
本文涉及AI创作
内容由AI创作,请仔细甄别