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使用os模块和fileinput模块来操作文件目录
Jan 19 Python
python timestamp和datetime之间转换详解
Dec 11 Python
pyqt5简介及安装方法介绍
Jan 31 Python
python利用百度AI实现文字识别功能
Nov 27 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
python实现多张图片拼接成大图
Jan 15 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
Feb 21 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
Jul 03 Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 Python
flask框架自定义url转换器操作详解
Jan 25 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 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
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
js实现日历的简单算法
2017/01/24 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
Python实现简单截取中文字符串的方法
2015/06/15 Python
python决策树之CART分类回归树详解
2017/12/20 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
Python类中self参数用法详解
2020/02/13 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
彩色的翅膀教学反思
2014/04/25 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
初中作文评语
2014/12/25 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
Python标准库之typing的用法(类型标注)
2021/06/02 Python