在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中requests模块导入的问题
May 18 Python
Python实现的各种常见分布算法示例
Dec 13 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
超实用的 30 段 Python 案例
Oct 10 Python
Python3实现配置文件差异对比脚本
Nov 18 Python
python 字典套字典或列表的示例
Dec 16 Python
python中count函数简单的实例讲解
Feb 06 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
Python 解析xml文件的示例
Sep 29 Python
Python获取android设备cpu和内存占用情况
Nov 15 Python
python 开心网和豆瓣日记爬取的小爬虫
May 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下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
javascript Excel操作知识点
2009/04/24 Javascript
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
canvas绘制七巧板
2017/02/03 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
Python pass 语句使用示例
2014/03/11 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
python requests 使用快速入门
2017/08/31 Python
用matplotlib画等高线图详解
2017/12/14 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
Python 中如何写注释
2020/08/28 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
Wallis官网:英国女装零售商
2020/01/21 全球购物
学校募捐倡议书
2014/05/14 职场文书
给校长的建议书600字
2014/05/15 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
python模板入门教程之flask Jinja
2022/04/11 Python