Python 高级:*args 与 **kwargs
作者:野牛程序员:2025-12-22 11:30:08python阅读 2035
Python 高级:*args 与 **kwargs
# /*
# Python 高级:*args 与 **kwargs
# --------------------------------------------------------
# 功能:
# 1) *args 用于接收任意数量的位置参数(元组形式)
# 2) **kwargs 用于接收任意数量的关键字参数(字典形式)
# 3) 使函数具有更灵活的调用方式
# */
# ========================================
# 示例一:*args
def greet_args(*args):
print("位置参数:", args)
for name in args:
print("Hello,", name)
greet_args("Alice", "Bob", "Charlie")
print("-" * 40)
# ========================================
# 示例二:**kwargs
def greet_kwargs(**kwargs):
print("关键字参数:", kwargs)
for k, v in kwargs.items():
print(f"{k} -> {v}")
greet_kwargs(Alice=25, Bob=30, Charlie=22)
print("-" * 40)
# ========================================
# 示例三:同时使用 *args 和 **kwargs
def greet_all(*args, **kwargs):
print("位置参数:", args)
print("关键字参数:", kwargs)
greet_all("Alice", "Bob", age_Alice=25, age_Bob=30)
# --------------------------------------------------------
# 要点总结:
# 1) *args 用于传递不定数量的位置参数,函数内部表现为元组;
# 2) **kwargs 用于传递不定数量的关键字参数,函数内部表现为字典;
# 3) 可同时使用 *args 和 **kwargs,但顺序固定为 (*args, **kwargs);
# 4) 常用于函数参数不确定或可扩展场景。
# */
#
# 位置参数: ('Alice', 'Bob', 'Charlie')
# Hello, Alice
# Hello, Bob
# Hello, Charlie
# ----------------------------------------
# 关键字参数: {'Alice': 25, 'Bob': 30, 'Charlie': 22}
# Alice -> 25
# Bob -> 30
# Charlie -> 22
# ----------------------------------------
# 位置参数: ('Alice', 'Bob')
# 关键字参数: {'age_Alice': 25, 'age_Bob': 30}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

