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绘图库Matplotlib的安装
Jul 03 Python
Python 将pdf转成图片的方法
Apr 23 Python
python修改字典键(key)的方法
Aug 05 Python
python中字典按键或键值排序的实现代码
Aug 27 Python
给我一面国旗 python帮你实现
Sep 30 Python
如何基于python实现归一化处理
Jan 20 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
Django如何批量创建Model
Sep 01 Python
如何完美的建立一个python项目
Oct 09 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 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编程与应用
2006/10/09 PHP
php 定义404页面的实现代码
2012/11/19 PHP
phpmyadmin config.inc.php配置示例
2013/08/27 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
Visual Studio中js调试的方法图解
2014/06/30 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
Python中的CURL PycURL使用例子
2014/06/01 Python
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
Java面试题:为什么要用Java
2012/05/11 面试题
模具数控专业自荐信
2014/01/27 职场文书
移风易俗倡议书
2014/04/15 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
周一给客户的问候语
2015/11/10 职场文书
公司转让协议书
2016/03/19 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS