在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 网络编程常用代码段
Aug 28 Python
Python中你应该知道的一些内置函数
Mar 31 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 Python
Python中使用支持向量机(SVM)算法
Dec 26 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
python学习之hook钩子的原理和使用
Oct 25 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
Feb 22 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
Python OpenCV实现测量图片物体宽度
May 27 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 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中的串行化变量和序列化对象
2006/09/05 PHP
VFP与其他应用程序的集成
2006/10/09 PHP
php遍历数组的方法分享
2012/03/22 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
js 提交和设置表单的值
2008/12/19 Javascript
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
python在控制台输出进度条的方法
2015/06/20 Python
python 网络编程详解及简单实例
2017/04/25 Python
Django视图和URL配置详解
2018/01/31 Python
python邮件发送smtplib使用详解
2020/06/16 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
前厅部经理岗位职责范文
2014/02/04 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
日语专业求职信
2014/07/04 职场文书
建筑节能汇报材料
2014/08/22 职场文书
法人身份证明书
2015/06/18 职场文书
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android