Python中的*
符号是一个多功能操作符,主要用于解包、重复和可变参数处理,能显著提升代码的灵活性和简洁性。
-
解包序列和可迭代对象
*
可将列表、元组等可迭代对象解包为独立元素。例如,print(*[1, 2, 3])
输出1 2 3
,相当于逐个传递参数。在合并列表时,[*list1, *list2]
能快速拼接两个列表。 -
函数中的可变参数
在定义函数时,*args
用于接收任意数量的位置参数,将其打包为元组。例如:def sum_values(*args): return sum(args)
调用时
sum_values(1, 2, 3)
会返回6
,无需预先确定参数数量。 -
重复操作
*
可对字符串、列表等实现重复操作,如"Hi" * 3
生成"HiHiHi"
,* 5
生成[0, 0, 0, 0, 0]
,常用于初始化或批量生成数据。 -
关键字参数解包(
**
的辅助)
虽然**
用于字典解包,但常与*
配合使用。例如:def greet(name, age): print(f"{name} is {age} years old") data = {"name": "Alice", "age": 25} greet(**data) # 解包字典为关键字参数
掌握*
的用法能大幅简化Python代码,尤其在处理动态数据或函数参数时。合理使用可避免冗余循环或硬编码,提升开发效率。