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 urlopen 使用小示例
Sep 06 Python
Python函数学习笔记
Oct 07 Python
深度剖析使用python抓取网页正文的源码
Jun 11 Python
利用Python实现颜色色值转换的小工具
Oct 27 Python
python的random模块及加权随机算法的python实现方法
Jan 04 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 Python
Python简单I/O操作示例
Mar 18 Python
python实现统计文本中单词出现的频率详解
May 20 Python
Django 重写用户模型的实现
Jul 29 Python
解决Django中调用keras的模型出现的问题
Aug 07 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 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
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
Python实现购物车程序
2018/04/16 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
交通安全演讲稿
2014/01/07 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
教师工作态度自我评价
2015/03/05 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
就业意向书范本
2015/05/11 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
七个Python必备的GUI库
2021/04/27 Python