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 相关文章推荐
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
python学习手册中的python多态示例代码
Jan 21 Python
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
简单谈谈python中的语句和语法
Aug 10 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
Aug 30 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
PyQt5实现下载进度条效果
Apr 19 Python
python获取微信小程序手机号并绑定遇到的坑
Nov 19 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
Pytest中skip skipif跳过用例详解
Jun 30 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中str_replace函数使用小结
2008/10/11 PHP
php检测图片木马多进制编程实践
2013/04/11 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
Vue2.0实现购物车功能
2017/06/05 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
JavaScript this使用方法图解
2020/02/04 Javascript
python批量提交沙箱问题实例
2014/10/08 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
phpquery中文手册
2021/03/18 PHP
高中生物教学反思
2014/02/05 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
关于分班的感言
2015/08/04 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL