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函数可变参数相关推荐

  1. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  2. python函数中可变参数的传递方式_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  3. python中可变参数args传入函数时储存的类型是,Python函数可变参数定义及其参数传递方式实例详解...

    本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...

  4. python中可变参数*args传入函数时的存储方式为_python 中文读法详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  5. python函数可变参数_python中函数的可变参数

    知识回顾: 1.函数关键字参数 2.函数的参数的默认值.必须从右边写到左边. 本节视频教程 文字教程开始: 一.[其实已经用过]可变参数 回顾系统自带的可变参数函数print #系统自带的可变参数函数 ...

  6. python可变参数教学,Python函数可变参数详解

    在实际使用函数时,可能会遇到"不知道函数需要接受多少个实参"的情况,不过好在 Python 允许函数从调用语句中收集任意数量的实参. 例如,设计一个制作披萨的函数,我们知道,披萨中 ...

  7. python函数中可变参数的传递方式是_Python函数可变参数定义及其参数传递方式实例详解...

    本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...

  8. python可变参数的定义_Python函数可变参数

    Python函数可变参数教程 在 Python 中函数的可变参数又被称为不定长参数,Python 中的可变参数不是必须是函数的最后一个参数,但如果不是函数的最后一个参数,那么普通参数必须使用 Pyth ...

  9. python的可变参数 *args 和关键字参数**kw

    *args:非关键字参数,传入任意个不需要包含参数名的参数,参数实际以tuple形式传入 **kw:是关键字参数,传入任意个要带参数名的参数,参数实际以dict传入 例子 >>> d ...

最新文章

  1. Table doesn't have a primary key
  2. 计算机c语言循环作业,C语言计算机作业编程.doc
  3. Manifest值冲突解决方法
  4. 一小段代码:父类和子类
  5. QQ空间Python爬虫v2.0--点赞数据分析
  6. y2第一章 初始mybatis的上机3_MyBatis3.2.x从入门到精通之第一章
  7. Web前端技术分享:img标签下方出现空隙的问题解决方案
  8. 爬虫(十二):scrapy中spiders的用法
  9. exit(),_exit()的区别
  10. disBalancer(DDOS)将于4月15日在DuckSTARTER进行IDO
  11. (一)Maven 基本概念——根目录、项目创建、坐标
  12. [bzoj1066] [SCOI2007]蜥蜴
  13. 什么是Prettier?
  14. 3D点云重建0-10:MVSNet-源码解析(6)-Depth Map Refinement以及Loss讲解
  15. 2020-09-12
  16. 如何能在面试的头5分钟内让HR喜欢你
  17. AD账号导入--dsadd user
  18. 如何使用 PowerShell 锁定、解锁、启用和禁用 AD 帐户
  19. 自动驾驶职位选择和常见术语
  20. 静态路由设置实例解析

热门文章

  1. Java加解密密和数字签名
  2. unity协程实现多个动画连播
  3. 数据库几种表删除方式
  4. 苹果手机iphone研发、设计、生产、供应链体系,附加值占比,以及中国为什么没有产出这样的跨国企业?
  5. 《Python核心编程(第3版)》学习笔记及书评
  6. 迪杰斯特拉(Dijkstra) —— 最短路算法
  7. MVC北京络捷斯特第三方物流系统技术解析(九)到货通知
  8. 我与TOMCAT不得不说的二三事
  9. 杂-CVPR2013 吴佳俊 Harvesting Mid-level Visual Concepts from Large-scale Internet Images
  10. UDP通讯协议广播和组播实现