python函数进阶与参数处理-*args和**kwargs

"""可变参数
- 可变参数也成为不定长参数
- 传入函数中实际参数可以是任意多个
- 常见形式
- *args
- **kwargs
"""
  • *args
"""*args
- 接收收任意多个实际参数,并将其放到一个元组中
- 使用已经存在的列表或元组作为函数的可变参数,可以在列表的名称前j加*
"""
复制代码
# 接收收任意多个实际参数,并将其放到一个元组
def print_language(*args):
    print(args)
    for i in args:
        print(i)


# 调用函数,把不同数量的参数传递进去,这里用位置参数
# 即把传入的实参,打包成元组
print_language("中文", "English", "韩语")
print_language("中文", "English", "韩语", "日语")

# 使用已经存在的列表或元组作为函数的可变参数,可以在列表的名称前j加*
list1 = ["中文", "English", "韩语"]
# 等价print_language("中文", "English", "韩语")
print_language(*list1)
复制代码

  • **kwargs
"""**kwargs
- 接收任意类似关键字参数一样显示赋值的实际参数,并将其放在一个字典中
- 使用已经存在字典作为函数的可变参数,可以在字典的名称前加**
"""
复制代码
# 接收任意类似关键字参数一样显示赋值的实际参数,并将其放在一个字典中
# 即把传入的实参打包成字典
def print_info(**kwargs):
    print(kwargs)


print_info(name="xiaoming", age=13)
print_info(name="xiaowang", age=18, hobby="sing")

# 使用已经存在字典作为函数的可变参数,可以在字典的名称前加**
dict = {"xiaowang": 22, "xiaosong": 28, "laowang": 66}
print_info(**dict)
复制代码

 

posted @   woft王  阅读(163)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示