当前位置: 首页 > ds >正文

Python中不定长参数的基础使用

Python 提供了两种类型的不定长参数:

  1. *args:用于接收任意数量的位置参数,这些参数会被打包成一个元组 (tuple)
  2. **kwargs:用于接收任意数量的关键字参数,这些参数会被打包成一个字典 (dict)

1.*args 的使用示例

def sum_numbers(*args):total = 0for num in args:total += numreturn total# 可以传入任意数量的参数
print(sum_numbers(1, 2, 3))       # 输出: 6
print(sum_numbers(10, 20, 30, 40)) # 输出: 100
print(sum_numbers())               # 输出: 0 (空元组)

2.**kwargs 的使用示例

def print_info(**kwargs):for key, value in kwargs.items():print(f"{key}: {value}")# 可以传入任意数量的关键字参数
print_info(name="Alice", age=30, city="New York")
# 输出:
# name: Alice
# age: 30
# city: New York

3.混合使用示例

def mixed_example(name, *args, **kwargs):print(f"Name: {name}")print("Additional arguments:", args)print("Keyword arguments:", kwargs)mixed_example("Bob", 25, "Engineer", city="London", salary=50000)
# 输出:
# Name: Bob
# Additional arguments: (25, "Engineer")
# Keyword arguments: {'city': 'London', 'salary': 50000}

4.注意事项

  1. 参数定义的顺序必须是:普通参数 → *args → **kwargs
  2. *args 和 **kwargs 只是约定俗成的名称,我们可以使用其他名称,但建议遵循惯例
  3. 可以单独使用 *args 或 **kwargs,也可以同时使用
  4. 当函数调用时,位置参数会优先被普通参数接收,剩下的才会被 *args 接收
http://www.xdnf.cn/news/20496.html

相关文章:

  • 网络基础篇---以太网链路聚合(静态LACP方式)
  • C++ 面试高频考点 LCR 137. 点名 二分查找 题解 每日一题
  • Vue 项目性能优化实战
  • 从零开始学AI——14
  • python打包工具setuptools
  • Golang中逃逸现象, 变量“何时栈?何时堆?”
  • unsloth 笔记;数据集
  • 什么是CSS
  • v0.29.2 敏感词性能优化之基本类型拆箱、装箱的进一步优化的尝试
  • 用Coze智能体工作流1分钟生成动物进化史视频,无需剪辑,附详细教程
  • 费曼学习法实例--汉诺塔
  • MCP Token超限问题解决方案
  • JDK1.8与1.9哪个好?
  • js逆向Webpack模块加载机制解析:从数组到JSONP
  • Linux 网络流量监控 Shell 脚本详解(支持邮件告警)
  • 基于FPGA的汉明码编解码器系统(论文+源码)
  • 设计模式Design Patterns:组合Composite、命令Command、策略Strategy
  • 【关于线程的一些总结】
  • 进程状态深度解析:从操作系统原理到Linux实践
  • PCB设计布局核心准则
  • 【左程云算法03】对数器算法和数据结构大致分类
  • FPGA会用到UVM吗?
  • Context Engineering survey
  • GraphQL API 性能优化实战:在线编程作业平台指南
  • EG1160 SOP16 高压大电流 半桥驱动芯片
  • 从 scheduler_tick 到上下文切换:深入解析 Linux 内核的 TIF_NEED_RESCHED 标志设置流程
  • 服务器防黑加固指南:SSH端口隐藏、Fail2ban与密钥登录
  • docker run 命令,不接it选项,run一个centos没有显示在运行,而run一个nginx却可以呢?
  • 【LeetCode热题100道笔记】腐烂的橘子
  • Typora处理markdown文件【给.md文档加水印】