python可变参数总结
时间:2019-06-17
本文章向大家介绍python可变参数总结,主要包括python可变参数总结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
简介:
在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入或变量的拆解
1.参数传递
可变参数是用在函数的参数传递上的
单个星号代表这个位置接收任意多个非关键字参数并将其转化成元组
而双星号代表这个位置接收任意多个关键字参数并将其转化成字典
*args的功能:------接收N个位置参数,转换成元组tuple形式 **kwargs的功能------接收N个关键字参数,转换成字典dict形式
1.1单个星号
1 def test(a,*args): 2 """a是一个普通传入的参数 3 :args是一个非关键字星号参数 4 """ 5 print('*args:{0}'.format(args)) 6 a=[1,2,3] 7 test(4,*a)
结果:
1 *args:(1, 2, 3)
1.2双星号
def test(a,**kwargs): """a是一个普通传入的参数 :args是一个关键字星号参数 """ print('*kwargs:{0}'.format(kwargs)) b={'name':'ganin','age':18} test(1,**b)
运行结果
*kwargs:{'name': 'ganin', 'age': 18}
2.变量拆分
2.1*的变量拆分
def test(*args): """ :args是一个非关键字星号参数 """ print(args[1]) a=[1,2,3] #test(a)#IndexError: tuple index out of range报错,没有使用*的直接把所有的转为元组 test(*a)#2能够将这个变量拆分成单个元素 注意:*是无法拆分字典的 b={'name':'ganin','age':18} test(*b) #age
2.2**的变量拆分
def test(**kwargs): """ :kwargs """ print(kwargs) b={'name':'ganin','age':18} test(**b) #{'name': 'ganin', 'age': 18}
原文地址:https://www.cnblogs.com/ganiner/p/10066765.html
- 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 数组属性和方法
- 性能优化漫谈(一):无代码调优
- C++职责链模式
- Newbe.Claptrap 框架入门,第四步 —— 利用 Minion,商品下单
- 使用 NextCloud + COS 搭建个人网盘
- Shader基础技巧整理
- 隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !
- 一起用Gradle Transform API + ASM完成代码织入呀~
- 掩盖浏览痕迹不会被发现的方法【逗】
- webpack实战——样式预处理
- 前端防止浏览器访问旧版 js 和 css 的优化思路
- 少数派实测报告:AI巨无霸模型GPT-3 | 附送API 调用方法「AI核心算法」
- Qt音视频开发19-海康sdk录像存储
- 单元测试在深度学习中的应用 | 附代码「AI产品/工程落地」
- 实现 AOP 的三种方式
- Spring Boot 配置