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冒泡排序算法的实现代码
Nov 21 Python
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
Python科学画图代码分享
Nov 29 Python
Django中的CBV和FBV示例介绍
Feb 25 Python
Tensorflow之Saver的用法详解
Apr 23 Python
在Django的View中使用asyncio的方法
Jul 12 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
Feb 27 Python
Virtualenv 搭建 Py项目运行环境的教程详解
Jun 22 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
python自动生成证件号的方法示例
Jan 14 Python
Python破解极验滑动验证码详细步骤
May 21 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过滤危险html代码
2008/08/18 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
2015/06/05 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
Python使用Supervisor来管理进程的方法
2015/05/28 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
基于python实现查询ip地址来源
2020/06/02 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
注塑工厂厂长岗位职责
2013/12/02 职场文书
班级聚会策划书
2014/01/16 职场文书
个人查摆剖析材料
2014/02/04 职场文书
优秀经理获奖感言
2014/03/04 职场文书
生活小常识广播稿
2014/09/16 职场文书
给老师的一封感谢信
2015/01/20 职场文书
人民的好儿女观后感
2015/06/18 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书