在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使用win32com库播放mp3文件的方法
May 30 Python
python 禁止函数修改列表的实现方法
Aug 03 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
python生成圆形图片的方法
Mar 25 Python
python取代netcat过程分析
Feb 10 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
ipython和python区别详解
Jun 26 Python
Python Django基础二之URL路由系统
Jul 18 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
python 实现PIL模块在图片画线写字
May 16 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
Django框架请求生命周期实现原理
Nov 13 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获取中英混合字符串长度的方法
2014/06/07 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
php生成与读取excel文件
2016/10/14 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
继续学习javascript闭包
2015/12/03 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
python用户管理系统的实例讲解
2017/12/23 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
什么是Rollback Segment
2013/04/22 面试题
物流管理专业应届生求职信
2013/11/21 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
本科生就业推荐信
2014/05/19 职场文书
求职信名称怎么写
2014/05/26 职场文书
2015年部门工作总结范文
2015/03/31 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
早上好问候语大全
2015/11/10 职场文书
解决Redis启动警告问题
2022/02/24 Redis