在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用fork来创建子进程注意事项
Jul 03 Python
Python3基础之条件与循环控制实例解析
Aug 13 Python
python 上下文管理器使用方法小结
Oct 10 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
Django在pycharm下修改默认启动端口的方法
Jul 26 Python
python函数不定长参数使用方法解析
Dec 14 Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 Python
python图片指定区域替换img.paste函数的使用
Apr 09 Python
tensorflow实现残差网络方式(mnist数据集)
May 26 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 Python
python 爬取腾讯视频评论的实现步骤
Feb 18 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
咖啡知识大全
2021/03/03 新手入门
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
PHP脚本的10个技巧(2)
2006/10/09 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
Python统计单词出现的次数
2018/04/04 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
python实现控制台打印的方法
2019/01/12 Python
Python 串口读写的实现方法
2019/06/12 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
2012/10/05 面试题
小学教师自我鉴定
2013/11/07 职场文书
客服文员岗位职责
2013/11/29 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
销售代理协议书
2014/09/30 职场文书
优秀校长事迹材料
2014/12/24 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
Python实现拼音转换
2021/06/07 Python