Python传递参数的多种方式(小结)


Posted in Python onSeptember 18, 2019

一 位置传递

没什么好过多讲解.

# 位置传递实例:
def fun1(a,b,c):
  return a+b+c

print(fun1(1,2,3))

输出:

6

二 关键字传递

更具每个参数的名字写入函数参数

# 关键字传递
 def fun2(a,b,c):
  return a+b+c
 
print(fun2(1,c=3,b=2))

输出:

三 参数默认值传递

给函数的输入参数设定一个默认值,如果该参数最终没有输入,则使用默认参数出入函数.

# 默认值传递
 def fun3(a,b=2,c=3):
  return a+b+c

print(fun3(a = 1))

输出:

四 包裹传递

在定义函数时,我们有时候并不知道调用的时候会传递多少个参数。这时候,包裹(packing)位置参数或者包裹关键字参数来进行参数传递会非常有用。

下面是包裹位置传递的例子:

def fun4(*name):
 print(type(name))
print(name)

fun4([1,2,3])
fun4((1,2,3))
fun4(1,2,3)

结果:

<class 'tuple'>
([1, 2, 3],)
<class 'tuple'>
((1, 2, 3),)
<class 'tuple'>
(1, 2, 3)

从上面的结果分析:

在fun4的参数表中,所有的参数被name收集,根据位置合并成一个元祖(tuple),这就是包裹位置传递。

 五 解包裹传递

def func1(a,b=1,*c,**d):
  print(a,b,c,d)  

 
l = [3,4]
dic = {'@':2,'#':3}

func1(1,2,l,dic)
print("---------**------------")
func1(1,2,*l,**dic)
func1(1,2,3,4,**dic)

运行结果:

 1 2 ([3, 4], {'@': 2, '#': 3}) {}
 ---------**------------
 1 2 (3, 4) {'@': 2, '#': 3}
 1 2 (3, 4) {'@': 2, '#': 3}

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算书页码的统计数字问题实例
Sep 26 Python
Python简单的制作图片验证码实例
May 31 Python
Python中xrange与yield的用法实例分析
Dec 26 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
django query模块
Apr 20 Python
python面试题之列表声明实例分析
Jul 08 Python
Flask-WTF表单的使用方法
Jul 12 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 Python
余弦相似性计算及python代码实现过程解析
Sep 18 #Python
python之yield和Generator深入解析
Sep 18 #Python
PyTorch预训练的实现
Sep 18 #Python
用python实现英文字母和相应序数转换的方法
Sep 18 #Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 #Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 #Python
python rsa实现数据加密和解密、签名加密和验签功能
Sep 18 #Python
You might like
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
CI框架常用函数封装实例
2016/11/21 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
面试常见的js算法题
2017/03/23 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
python动态加载变量示例分享
2014/02/17 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
Python实现配置文件备份的方法
2015/07/30 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
应届大学生自荐信
2013/12/05 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
八一建军节主持词
2015/07/01 职场文书