在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中dictionary items()系列函数的用法实例
Aug 21 Python
用Python设计一个经典小游戏
May 15 Python
Python机器学习logistic回归代码解析
Jan 17 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
python实现扫雷游戏
Mar 03 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
python 用递归实现通用爬虫解析器
Apr 16 Python
Python开发五子棋小游戏
Apr 28 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作为Shell脚本语言使用
2006/10/09 PHP
php 表单数据的获取代码
2009/03/10 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
如何在vue中使用ts的示例代码
2018/02/28 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
Python处理Excel文件实例代码
2017/06/20 Python
python实现的config文件读写功能示例
2019/09/24 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
PyQt5实现简单的计算器
2020/05/30 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
护理学应聘自荐书范文
2014/02/05 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
2015教师节通讯稿
2015/07/20 职场文书
python实现简易名片管理系统
2021/04/11 Python
VUE递归树形实现多级列表
2022/07/15 Vue.js