在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  __getattr__与__setattr__使用方法
Sep 06 Python
决策树的python实现方法
Nov 18 Python
Python编程中time模块的一些关键用法解析
Jan 19 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
python中partial()基础用法说明
Dec 30 Python
python Web flask 视图内容和模板实现代码
Aug 23 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
Python序列化与反序列化相关知识总结
Jun 08 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
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
jQuery 浮动广告实现代码
2008/12/25 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
html的DOM中document对象anchors集合用法实例
2015/01/21 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python实现BackPropagation算法
2017/12/14 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
献爱心倡议书
2014/04/14 职场文书
初二学习计划书范文
2014/04/27 职场文书
中华魂演讲稿
2014/05/13 职场文书
公司活动总结范文
2014/07/01 职场文书
联谊活动总结范文
2015/05/09 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
2019大学生实习报告
2019/06/21 职场文书
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android