python函数可变参数
Python函数还接收一种参数叫做可变参数,可变参数即任意个参数的意思,可变参数通常使用*args来表示。
def func(*args):print('args length = {}, args = {}'.format(len(args), args))func('a') # ==> args length = 1, args = ('a',)
func('a', 'b') # ==> args length = 2, args = ('a', 'b')
func('a', 'b', 'c') # ==> args length = 3, args = ('a', 'b', 'c')
注意,在使用上,Python会把可变参数定义为一个tuple,所以在函数内部,把可变参数当作tuple来使用就可以了,比如可以通过位置下标取出对应的元素等。
可变参数的长度可能是0,当长度为0的时候,就会出现除0错误。因此需要添加保护的逻辑
tuple在使用上有一定的局限性,比如有时候想找到特定位置的参数,只能通过下标的方式去寻找,如果顺序发生变化得时候,下标就会失效,函数逻辑就得重新修改实现。
Python会把可变关键字参数当作dict去处理;对于可变关键字参数,一般使用**kwargs来表示。
例如,想要打印一个同学的信息,可以这样处理:
def info(**kwargs):print('name: {}, gender: {}, age: {}'.format(kwargs.get('name'), kwargs.get('gender'), kwargs.get('age')))info(name = 'Alice', gender = 'girl', age = 16)
一个函数,它接受关键字参数names,gender,age三个list,分别包含同学的名字、性别和年龄,请分别把每个同学的名字、性别和年龄打印出来。
def info(**kwargs):names = kwargs['names']gender_list = kwargs['gender']age_list = kwargs['age']index = 0for name in names:gender = gender_list[index]age = age_list[index]print('name: {}, gender: {}, age: {}'.format(name, gender, age))index += 1info(names = ['Alice', 'Bob', 'Candy'], gender = ['girl', 'boy', 'girl'], age = [16, 17, 15])
python函数可变参数相关推荐
- python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- python函数中可变参数的传递方式_详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- python中可变参数args传入函数时储存的类型是,Python函数可变参数定义及其参数传递方式实例详解...
本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...
- python中可变参数*args传入函数时的存储方式为_python 中文读法详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- python函数可变参数_python中函数的可变参数
知识回顾: 1.函数关键字参数 2.函数的参数的默认值.必须从右边写到左边. 本节视频教程 文字教程开始: 一.[其实已经用过]可变参数 回顾系统自带的可变参数函数print #系统自带的可变参数函数 ...
- python可变参数教学,Python函数可变参数详解
在实际使用函数时,可能会遇到"不知道函数需要接受多少个实参"的情况,不过好在 Python 允许函数从调用语句中收集任意数量的实参. 例如,设计一个制作披萨的函数,我们知道,披萨中 ...
- python函数中可变参数的传递方式是_Python函数可变参数定义及其参数传递方式实例详解...
本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...
- python可变参数的定义_Python函数可变参数
Python函数可变参数教程 在 Python 中函数的可变参数又被称为不定长参数,Python 中的可变参数不是必须是函数的最后一个参数,但如果不是函数的最后一个参数,那么普通参数必须使用 Pyth ...
- python的可变参数 *args 和关键字参数**kw
*args:非关键字参数,传入任意个不需要包含参数名的参数,参数实际以tuple形式传入 **kw:是关键字参数,传入任意个要带参数名的参数,参数实际以dict传入 例子 >>> d ...
最新文章
- Table doesn't have a primary key
- 计算机c语言循环作业,C语言计算机作业编程.doc
- Manifest值冲突解决方法
- 一小段代码:父类和子类
- QQ空间Python爬虫v2.0--点赞数据分析
- y2第一章 初始mybatis的上机3_MyBatis3.2.x从入门到精通之第一章
- Web前端技术分享:img标签下方出现空隙的问题解决方案
- 爬虫(十二):scrapy中spiders的用法
- exit(),_exit()的区别
- disBalancer(DDOS)将于4月15日在DuckSTARTER进行IDO
- (一)Maven 基本概念——根目录、项目创建、坐标
- [bzoj1066] [SCOI2007]蜥蜴
- 什么是Prettier?
- 3D点云重建0-10:MVSNet-源码解析(6)-Depth Map Refinement以及Loss讲解
- 2020-09-12
- 如何能在面试的头5分钟内让HR喜欢你
- AD账号导入--dsadd user
- 如何使用 PowerShell 锁定、解锁、启用和禁用 AD 帐户
- 自动驾驶职位选择和常见术语
- 静态路由设置实例解析