详解Python函数可变参数定义及其参数传递方式
时间:2019-03-30
本文章向大家介绍详解Python函数可变参数定义及其参数传递方式,主要包括详解Python函数可变参数定义及其参数传递方式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
- Java多线程详解2
- Java多线程详解3
- SpringMVC处理multipart请求.
- 一条简单的sql语句运行15天的原因分析(r5笔记第17天)
- 巧用flashback database实现灵活的数据回滚(r5笔记第16天)
- Spring Cache For Redis.
- css重写checkbox样式
- 通过shell脚本同时监控多个数据库负载(r5笔记第14天)
- Java 定时器 Timer 的使用.
- 通过shell脚本来统计段大小(r5笔记第14天)
- Linux下配置MySQL主从复制(r5笔记第13天)
- Final 关键字
- ArrayList 和 LinkedList的执行效率比较
- 关于consistent gets(r5笔记第12天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- swoole 实现 unixSocket 通信
- mybatis-plus一对多关联查询踩坑
- 深入Spring Security魔幻山谷-获取认证机制核心原理讲解
- 文本相似性的总结
- Java面试题总结之JDBC 和Hibernate
- Mac 下搭建 Clion + OpenCV4.x 的开发环境
- 超详细,Windows系统搭建Flink官方练习环境
- MySQL 覆盖索引与延迟关联
- Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)
- 在Java中什么时候才要考虑线程安全
- android功耗优化(2)--对齐唤醒
- Android 功耗(3)---高通功耗问题分析方法
- 搞定Java快速排序
- Android 功耗(4)---MTK平台待机功耗分析流程
- 使用iframe实现在pc端预览移动端页面的效果