python收集参数_Python 中函数的 收集参数 机制
定义函数的时候,在参数前加了一个 * 号,函数可以接收零个或多个值作为参数。返回结果是一个元组。
传递零个参数时函数并不报错,而是返回一个空元组。但以上这种方法也有局限性,它不能收集关键字参数。
对关键字参数进行收集的另一种 收集参数 机制:使用两个星号 ( ** ) ,用法同上。最后返回一个以参数名为键、参数值为键值的字典。
* 和 ** 是可以一起使用的,返回特定的结果。
参数收集的用处之一是使我们编写函数时不用头疼将 N 多个参数都塞在一个括号里,既美观又省事。用处之二便是:
* :可以将一系列值存放进一个元组变量里,可用该元组变量名加一个 * 号作为参数传递给一个正被调用的函数,而后该函数就可以自由地对这些值进行一系列合法的操作。
** :同理,只不过变量存放的方式是字典。
def foo(*param):
print(param)
def foo_1(**param):
print(param)
def foo_2(*param1, **param2):
print(param1)
print(param2)
if __name__ == '__main__':
foo(1,2,3,4) # (1, 2, 3, 4)
foo_1(a = 1, b=2, c=3, d=4) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
foo_2(6,7,8, m = 9, n = 10) # (6, 7, 8) {'m': 9, 'n': 10}
Python的4种传值的方式,必选传参 func(param)、默认传参func(param=value)、可选传参func(*param)、关键字传参func(**param)
# 必选参数 func(param): # 1、定义函数时的参数个数,顺序已定义好,在调用函数调时的参数个数、顺序必须一致,不能多,也不能少,也不能乱(和之前的顺序一致),因此叫必选参数,这是最常用的传参方式
def test(param1,param2,param3):
print param1,param2,param3
test(1,"hello",True)
test(True,1,"hello")
执行结果:
1 hello True
True 1 hello
# 默认参数func(param=value): #
1、定义函数时,已为参数设定一个默认值,假如调用函数时不传参,在函数内部使用参数时的值则为默认值,传参时则和必选参数一样使用
# 2、如果必选参数和默认参数同时存在,则默认参数必须跟在必选参数后面
# 3、如果有多个默认参数,调用时顺序可以不一致,但是必须要显式表明是哪个默认参数,例如 param2=100,但是建议统一按照函数定义的顺序进行使用
def test(param1,param2=100,param3=True):
print param1,param2,param3 test(1)
# 默认参数可以不传 test(1,"hello",False)
# 多个默认参数时,调用顺序一致 test(1,param3=False,param2="hello")
# 调用顺序也可以不一致
执行结果:
1 100 True
1 hello False
1 hello False
python收集参数_Python 中函数的 收集参数 机制相关推荐
- python函数可变参数_python中函数的可变参数
知识回顾: 1.函数关键字参数 2.函数的参数的默认值.必须从右边写到左边. 本节视频教程 文字教程开始: 一.[其实已经用过]可变参数 回顾系统自带的可变参数函数print #系统自带的可变参数函数 ...
- python函数默认参数_Python中函数的默认参数问题
前几天,运营反馈了一个BUG,某些数据在写入数据库后,其时间字段出现异常,与当前时间相差较多. 由于代码是不是我写的,所以开始一遍阅读代码一遍排查问题. 在主流程中,仅仅发现了一个对时间赋值的语句,并 ...
- python可变参数和关键字参数位置_python中函数的默认参数和可变长参数如何排列?...
参数在python中总是通过赋值进行传递的.在默认情况下,参数是通过其位置进行匹配的,从左到右,而且必须精确的传递和函数头部参数名一样多的参数. 这种默认的传递方式很简单 def f(a,b,c): ...
- python可变参数函数二阶导数公式_python中函数的可变参数
简介 INTRODUCTION一.[其实已经用过]可变参数 二.可变参数+普通参数 结合用法1 三.知识要点总结强调 知识回顾: 1.函数关键字参数 2.函数的参数的默认值.必须从右边写到左边. 一. ...
- python中函数的可变参数_Python中函数的参数定义和可变参数
转自:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944416.html 刚学用Python的时候,特别是看一些库的源码时,经常会看到fun ...
- python中span函数_Python中函数定义及参数实例
1.函数定义函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字 ,可以通过函数名在程序的不同地方多次执行(这通常叫函数调用) 预定义函数(可以直接使用) 自定义函数(自 ...
- python函数如何实现可变参数_python之函数定义可变参数(任意数量参数)
原博文 2020-05-23 11:49 − python中函数可以定义任意数量的参数,即可变参数. 比如: def fun(*args): print args 在可变参数的名字前面加一个*号,即可 ...
- python求均方根_python中函数的均方根
I want to calculate root mean square of a function in Python. My function is in a simple form like y ...
- python gc教程_python中的垃圾回收(GC)机制
一.引用计数 Python 垃圾回收以引用计数为主,分代回收为辅.引用计数法的原理是每个对象维护一个ob_refcnt,用来记录对象被引用的次数,也就是用来追踪有多少个引用指向了对象,当发生以下四种情 ...
最新文章
- Linux系统性能分析: CPU
- PhpForm表单验证
- 揭穿骗子阴谋,学会保护自己
- 互动赠新书|当云原生遇到混合云:如何实现“求变”与“求稳”的平衡
- java中日期格式转换
- c语言求出字符串最长单词,C语言-获取字符串中最长的单词.doc
- CSDN-Markdown编辑器如何修改图像大小
- OLAP-druid-大数据Week13-DAY2-druid
- 编写hive udf函数
- 【STM32】使用ST-LINK V2下载程序
- TextView 倾斜属性
- linux 块设备 dm,[CentOS7]dm块设备删除
- Facebook改名,元宇宙非区块链不可
- Epicor客制化 - RowRule使用示例
- 二维码的使用(java版)
- python 基于xgboost预测波士顿房价
- python 查询周数 week number
- 华为电子邮件显示未读邮件1_您所说的话:如何使电子邮件垃圾邮件保持整洁...
- 沙盘游戏(2017绍兴市第十五届少儿信息学竞赛复赛试题)
- Java人脸识别登录Demo(人脸考勤系统)
热门文章
- java 集合初始化_6种方法初始化JAVA中的list集合
- 6467t 1080php,DM6467T开发板领航——开发环境的文件配置
- 后台cs代码控制html控件,cshtml中正则表达式使用后台代码
- C++传递数组给函数
- 几种特种印花方式简介
- oracle使用all关键字过滤,选择要进行过滤的抽样、线程、LWP 和 CPU
- 解决VS2019中.net core WPF 暂时无法使用 Designer 的临时方法
- 优化springboot
- thinkphp在IIS7.5+环境下部署出现的URL重写问题解决方法
- request 获取url