详解Python函数可变参数定义及其参数传递方式

发布时间 - 2026-01-11 02:37:07    点击率:

Python函数可变参数定义及其参数传递方式详解

python中 函数不定参数的定义形式如下

1、 func(*args) 

传入的参数为以元组形式存在args中,如:

def func(*args): 
  print args 
 
>>> func(1,2,3) 
(1, 2, 3) 
 
>>> func(*[1,2,3])  #这个方式可以直接将一个列表的所有元素当作不定参数 
传入(1, 2, 3) 

2、func( **kwargs)

传入的参数为以字典形式存在args中,如:

def func(**kwargs): 
  print kwargs 
 
>>> func(a = 1,b = 2, c = 3) 
{'a': 1, 'c': 3, 'b': 2} 
 
>>> func(**{'a':1, 'b':2, 'c':3})   #这个方式可以直接将一个字典的所有键值对当作关键字参数传入 
{'a': 1, 'c': 3, 'b': 2} 

3、也可以两者混用func(*args, **kwargs)

传入的顺序必须和定义顺序相同,这里是先不定参数列表,再是关键字参数字典,如:

def func(*args, **kwargs): 
  print args 
  print kwargs 
 
 
>>> func(1,2,3) 
(1, 2, 3) 
{} 
 
>>> func(*[1,2,3]) 
(1, 2, 3) 
{} 
 
>>> func(a = 1, b = 2, c = 3) 
() 
{'a': 1, 'c': 3, 'b': 2} 
 
>>> func(**{'a':1, 'b':2, 'c':3}) 
() 
{'a': 1, 'c': 3, 'b': 2} 
 
 
>>> func(1,2,3, a = 4, b=5, c=6) 
(1, 2, 3) 
{'a': 4, 'c': 6, 'b': 5}</span> 
 #这样跳跃传递是不行的 
>>> func(1,2,3, a=4, b=5, c=6, 7) 
SyntaxError: non-keyword arg after keyword arg 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Python函数可变参数  # Python函数可变参数的详解  # Python函数可变参数实例  # python函数装饰器构造和参数传递  # Python 类  # 对象  # 数据分类  # 函数参数传递详解  # 浅谈Python中的函数(def)及参数传递操作  # Python3中函数参数传递方式实例详解  # Python中的函数参数传递问题  # 可以直接  # 如有  # 希望能  # 谢谢大家  # 键值  # 疑问请  # class  # args  # brush  # pre  # func  # Python  # strong 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Laravel如何处理表单验证?(Requests代码示例)  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Mybatis 中的insertOrUpdate操作  魔方云NAT建站如何实现端口转发?  如何快速搭建高效可靠的建站解决方案?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何用西部建站助手快速创建专业网站?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  PHP 500报错的快速解决方法  如何用PHP工具快速搭建高效网站?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  如何快速重置建站主机并恢复默认配置?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何用IIS7快速搭建并优化网站站点?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何实现建站之星域名转发设置?  网站页面设计需要考虑到这些问题  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  如何在万网ECS上快速搭建专属网站?  在线教育网站制作平台,山西立德教育官网?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Android利用动画实现背景逐渐变暗  微信公众帐号开发教程之图文消息全攻略  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  如何用PHP快速搭建CMS系统?  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何实现javascript表单验证_正则表达式有哪些实用技巧  香港服务器建站指南:免备案优势与SEO优化技巧全解析  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  独立制作一个网站多少钱,建立网站需要花多少钱?  如何在云虚拟主机上快速搭建个人网站?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  phpredis提高消息队列的实时性方法(推荐)  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  如何在景安云服务器上绑定域名并配置虚拟主机?