在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 31 Python
使用Python脚本将Bing的每日图片作为桌面的教程
May 04 Python
python查看微信好友是否删除自己
Dec 19 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
Python有序字典简单实现方法示例
Sep 28 Python
详解python的ORM中Pony用法
Feb 09 Python
python中matplotlib的颜色及线条控制的示例
Mar 16 Python
python实现录音小程序
Oct 26 Python
对Python 3.2 迭代器的next函数实例讲解
Oct 18 Python
Python基于plotly模块实现的画图操作示例
Jan 23 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
基于python实现上传文件到OSS代码实例
May 09 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
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php内存缓存实现方法
2015/01/24 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
Python谱减法语音降噪实例
2019/12/18 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
火锅店创业计划书范文
2014/02/02 职场文书
餐饮采购员岗位职责
2014/03/15 职场文书
《穷人》教学反思
2014/04/08 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
高一军训感想
2015/08/07 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
python区块链持久化和命令行接口实现简版
2022/05/25 Python