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装饰器 免去调用父类构造函数的麻烦
May 18 Python
Python统计列表中的重复项出现的次数的方法
Aug 18 Python
python将文本转换成图片输出的方法
Apr 28 Python
python实现ID3决策树算法
Dec 20 Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
使用PIL(Python-Imaging)反转图像的颜色方法
Jan 24 Python
python 内置函数汇总详解
Sep 16 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 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访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php实现encode64编码类实例
2015/03/24 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
Django models.py应用实现过程详解
2019/07/29 Python
详解Python self 参数
2019/08/30 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
出纳工作岗位责任制
2014/02/02 职场文书
镇创先争优活动总结
2014/08/28 职场文书
上课不认真检讨书
2014/09/17 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
会计做账心得体会
2016/01/22 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书