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创作,请仔细甄别

list快速访问

上一篇: Python关键字参数 下一篇: Python函数可变参数 - **kwargs关键字

poll相关推荐