在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 相关文章推荐
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
Python版名片管理系统
Nov 30 Python
python爬虫之验证码篇3-滑动验证码识别技术
Apr 11 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
python右对齐的实例方法
Jul 05 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 Python
如何正确理解python装饰器
Jun 15 Python
Python socket如何解析HTTP请求内容
Feb 12 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
在nodejs中创建child process的方法
2021/01/26 NodeJs
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python实现随机漫步算法
2018/08/27 Python
pandas中的series数据类型详解
2019/07/06 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
Python 字典中的所有方法及用法
2020/06/10 Python
经济学博士求职自荐信范文
2013/11/23 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
2014年林业工作总结
2014/12/05 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
退休职工欢送会致辞
2015/08/01 职场文书