在Python中如何传递任意数量的实参的示例代码


Posted in Python onMarch 21, 2019

1 用法

在定义函数时,加上这样一个形参 "*形参名",就可以传递任意数量的实参啦:

def make_tags(* tags):
 '''为书本打标签'''
 print('标签:'+str(tags))
make_tags('艺术','艺术史')

运行结果:标签:('艺术', '艺术史')

形参名 *tags 中的星号会让 Python 创建一个名为 tags 的空元组, 并将函数所收到的所有值都封装在这个元组中 。

注意:即便函数只收到一个值,也会被放入元组中。

2 联合位置实参与任意数量实参

如果要让函数接受多种类型的实参, 那就必须在函数定义中将接收任意数量实参的形参定义放在最后 。因为 Python 会先匹配位置实参和关键字实参, 然后再将多余的实参放入最后一个形参元组中 。

def make_tags(book_name, *tags):
 '''为某本书打标签'''
 print('book_name=' + book_name)
 print('tags=' + str(tags))
make_tags('世界美术名作二十讲 : 插图珍藏本','艺术')
make_tags('世界美术名作二十讲 : 插图珍藏本','艺术', '艺术史')

运行结果:
book_name=世界美术名作二十讲 : 插图珍藏本
tags=('艺术',)
book_name=世界美术名作二十讲 : 插图珍藏本
tags=('艺术', '艺术史')

3 任意数量关键字实参

有时候,预先并不清楚传递给函数的会是什么样的参数。 这时, 我们就可以将函数编写成能够接受任意数量的键—值对。

def create_account(name, pwd, **others):
 '''创建账户'''
 account = {}
 account['name'] = name
 account['pwd'] = pwd
 for key, value in others.items():
 account[key] = value
 return account
account = create_account('早安', '1', sex='女', age='20')
print('account=' + str(account))

运行结果:
account={'name': '早安', 'pwd': '1', 'sex': '女', 'age': '20'}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的with语句与上下文管理器学习总结
Jun 28 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
Python实现的简单读写csv文件操作示例
Jul 12 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
python同时替换多个字符串方法示例
Sep 17 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
Jan 02 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
keras:model.compile损失函数的用法
Jul 01 Python
Python 线程池模块之多线程操作代码
May 20 Python
详解python使用turtle库来画一朵花
Mar 21 #Python
python中import与from方法总结(推荐)
Mar 21 #Python
python批量创建指定名称的文件夹
Mar 21 #Python
python根据txt文本批量创建文件夹
Dec 08 #Python
python+os根据文件名自动生成文本
Mar 21 #Python
Python----数据预处理代码实例
Mar 20 #Python
浅谈python编译pyc工程--导包问题解决
Mar 20 #Python
You might like
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
python中urlparse模块介绍与使用示例
2017/11/19 Python
python matlibplot绘制3D图形
2018/07/02 Python
python中的decorator的作用详解
2018/07/26 Python
Python JSON编解码方式原理详解
2020/01/20 Python
2014高中生入党思想汇报范文
2014/09/13 职场文书
教师批评与自我批评
2014/10/15 职场文书
超级礼物观后感
2015/06/15 职场文书
单身证明格式样本
2015/06/15 职场文书
警示教育片观后感
2015/06/17 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers