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中wx将图标显示在右下角的脚本代码
Mar 08 Python
Python中针对函数处理的特殊方法
Mar 06 Python
Python实现CET查分的方法
Mar 10 Python
python 二分查找和快速排序实例详解
Oct 13 Python
python机器学习库常用汇总
Nov 15 Python
详解python3中的真值测试
Aug 13 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
python求前n个阶乘的和实例
Apr 02 Python
Python PIL库图片灰化处理
Apr 07 Python
为什么相对PHP黑python的更少
Jun 21 Python
Python中的socket网络模块介绍
Jul 23 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日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php构造函数的继承方法
2015/02/09 PHP
php生成验证码函数
2015/10/20 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
图片自动更新(说明)
2006/10/02 Javascript
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
javascript写的一个链表实现代码
2009/10/25 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
JS实现炫酷轮播图
2020/11/15 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
python3实现域名查询和whois查询功能
2018/06/21 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
django项目中新增app的2种实现方法
2020/04/01 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
商务经理岗位职责
2014/08/03 职场文书
学党史心得体会
2014/09/05 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
委托公证书样本
2015/01/23 职场文书
义诊活动总结
2015/02/04 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python