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中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
python如何让类支持比较运算
Mar 20 Python
python如何统计序列中元素
Jul 31 Python
python匿名函数用法实例分析
Aug 03 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
python 消除 futureWarning问题的解决
Dec 25 Python
Python集合操作方法详解
Feb 09 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 13 Python
Python基础教程,Python入门教程(超详细)
Jun 24 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP的5个安全措施小结
2012/07/17 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
nginx 设置多个站跨域
2021/03/09 Servers
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
js实现登录与注册界面
2017/11/01 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
Python中字符串的格式化方法小结
2016/05/03 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
2015年药店工作总结
2015/04/20 职场文书
初中重阳节活动总结
2015/05/05 职场文书
教师远程培训心得体会
2016/01/09 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python