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 04 Python
Python实现包含min函数的栈
Apr 29 Python
Python中字典的浅拷贝与深拷贝用法实例分析
Jan 02 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
Django ORM 查询管理器源码解析
Aug 05 Python
在Python中获取操作系统的进程信息
Aug 27 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
python cv2截取不规则区域图片实例
Dec 21 Python
Python-openCV读RGB通道图实例
Jan 17 Python
keras中epoch,batch,loss,val_loss用法说明
Jul 02 Python
python实现b站直播自动发送弹幕功能
Feb 20 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&amp;&amp;mysql)六
2006/10/09 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
php的sso单点登录实现方法
2015/01/08 PHP
form自动提交实例讲解
2017/07/10 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
Python中turtle作图示例
2017/11/15 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
Python将string转换到float的实例方法
2019/07/29 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
Python更换pip源方法过程解析
2020/05/19 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
应届生学校辅导员求职信
2013/11/07 职场文书
军训生自我鉴定范文
2013/12/27 职场文书
大学毕业感言
2014/01/10 职场文书
鲁迅故里导游词
2015/02/05 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
小学庆六一主持词
2015/06/30 职场文书