在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中类的定义、继承及使用对象实例详解
Apr 30 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
Python文件路径名的操作方法
Oct 30 Python
关于sys.stdout和print的区别详解
Dec 05 Python
python手机号前7位归属地爬虫代码实例
Mar 31 Python
python对接ihuyi实现短信验证码发送
May 10 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
Python中random模块常用方法的使用教程
Oct 04 Python
Pandas数据分析的一些常用小技巧
Feb 07 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
Smarty保留变量用法分析
2016/05/23 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
css配合jquery美化 select
2013/11/29 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
深入解析Python中的上下文管理器
2016/06/28 Python
python PyTorch预训练示例
2018/02/11 Python
python素数筛选法浅析
2018/03/19 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
python绘制立方体的方法
2018/07/02 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
python中count函数简单用法
2020/01/05 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
营销与策划专业毕业生求职信
2013/11/01 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
综治工作汇报材料
2014/10/27 职场文书
优秀团员个人总结
2015/02/26 职场文书
污水处理保证书
2015/05/09 职场文书
高三物理教学反思
2016/02/20 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python