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 multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
Python遍历目录的4种方法实例介绍
Apr 13 Python
在Python中使用sort()方法进行排序的简单教程
May 21 Python
Python定时执行之Timer用法示例
May 27 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
Python使用struct处理二进制的实例详解
Sep 11 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
Jan 31 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
python实现递归查找某个路径下所有文件中的中文字符
Aug 31 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
Pytorch 使用CNN图像分类的实现
Jun 16 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生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
python统计cpu利用率的方法
2015/06/02 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
python如何使用腾讯云发送短信
2020/09/17 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
销售代表求职自荐信
2013/10/01 职场文书
投标服务承诺书
2014/05/28 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
个人简历求职信范文
2015/03/20 职场文书
校园广播稿范文
2015/08/19 职场文书
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL