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

【自记】 Python 中函数参数前加 *(单星号)的解包可迭代对象写法说明

        在 Python 中,函数参数前加 *(单星号)是一种解包可迭代对象的写法,用于将可迭代对象(如元组、列表等)中的元素逐个传递给函数的参数。

具体说明

  • 当有一个可迭代对象(比如元组 temp = (1, 2, 3)),如果直接把这个可迭代对象传给函数(如 hello(temp)),函数会把整个可迭代对象当作一个参数接收,而不是拆分成多个元素分别对应函数的多个参数。
  • 但如果在可迭代对象前加上 *(即 hello(*temp)),Python 就会把可迭代对象解包,将其中的每个元素依次传递给函数的参数,效果等价于直接把元素逐个写出来传给函数(即 hello(1, 2, 3))。

再举个例子

假设有列表 nums = [10, 20, 30],函数 def func(a, b, c): print(a, b, c)

  • 若执行 func(nums),会报错,因为 func 期望接收 3 个参数,却只收到 1 个列表参数。
  • 若执行 func(*nums),就会把列表解包,等价于 func(10, 20, 30),能正常打印出 10 20 30

        这种写法很方便,当我们有一个可迭代对象,且想把它的元素逐个传给函数的多个参数时,就可以用 * 来解包。

http://www.xdnf.cn/news/19288.html

相关文章:

  • 基于三维反投影矫正拼接视频
  • TJA1445学习笔记(二)
  • 咨询进阶——解读 目标管理实务:知识概述、管理概述和实施【附全文阅读】
  • 计算机视觉(四):二值化
  • MySQL面试集合
  • 【C++ 】STL详解(六)—手撸一个属于你的 list!
  • 力扣热题100:合并区间详解(Java实现)(56)
  • 在SAP系统中,如何查询已经被打上了删除标记的生产订单?
  • 数据结构(04)—— 栈和队列
  • [每周一更]-(第158期):构建高性能数据库:MySQL 与 PostgreSQL 系统化问题管理与优化指南
  • 【lua】元表、元方法 详解及应用
  • 【LeetCode_27】移除元素
  • Ubuntu中通过SSH克隆Windows的远程Git仓库(局域网中挺有用)
  • 对于牛客网—语言学习篇—编程初学者入门训练—复合类型:二维数组较简单题目的解析
  • Unity核心概念①
  • 准备机试--图【y总版】[重要]【最短路】
  • 三重积分的对称性
  • shell编程-核心变量知识
  • 面试专栏
  • Agent实战教程:LangGraph结构化输出详解,让智能体返回格式化数据
  • 第N个丑数
  • 文件夹和文件一键加密,保护你的隐私
  • CRM、ERP、HRP系统有啥区别?
  • 本地运行 Ollama 与 DeepSeek R1 1.5B,并结合 Open WebUI 测试
  • 安卓编程 之 线性布局
  • 数组去重【JavaScript】
  • 基于 MyBatis-Plus 拦截器实现锁定特殊数据(二)
  • kmp 算法
  • 42-Ansible-Inventory
  • 模式组合应用-组合模式