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之模块的加载
Oct 24 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
pygame播放音乐的方法
May 19 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
Python人脸识别初探
Dec 21 Python
10个Python小技巧你值得拥有
Sep 29 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
Python绘制热力图示例
Sep 27 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
python实现高斯判别分析算法的例子
Dec 09 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
python实现双向链表原理
May 25 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 编写大型网站问题集
2010/05/07 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
浅谈php调用python文件
2019/03/29 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
为javascript添加String.Format方法
2020/08/11 Javascript
js对象的比较
2011/02/26 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
美国社交购物市场:MassGenie
2019/02/18 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
七一党建活动方案
2014/01/28 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
人民检察院起诉书
2015/05/20 职场文书
新学期开学寄语2016
2015/12/04 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python