python3中的缺省参数和global
关于py中缺省参数:
在声明函数的时候对某些参数(一个或多个)进行赋值,在你调用的时候无需在实参列表中体现该参数,但是在执行的时候会默认加上这个已经在形参中定义好的参数。 但是,缺省参数必须放在最后,缺省参数的值必须是常量。
举个例子:
def sum(a,b):
print("%d+%d=%d"%(a,b,a+b))
sum(11,22)
sum(13,22)
sum(15,22)
像这样的情况我们可以使用缺省函数,代码如下:
def sum(a,b=22):
print("%d+%d=%d"%(a,b,a+b))
sum(11)
sum(13)
sum(15)
这两种代码的执行结果是一样的。
但是缺省 参数还有如下用法:
比如说日常我们去银行会用银行的笔签名,但是如果我们自己身上带的有符合使用要求的笔,我们就可以使用自己的笔去签字,也就是说;我们去银行一般不会自己带笔,默认会使用银行的笔签字,但如果我们带的有 ,也可以使用自己的笔签字。
举个例子:
def sum(a,b=22):
print("%d+%d=%d"%(a,b,a+b))
sum(11,33)
sum(13,44)
sum(15,66)
输出结果如下:

这个和我们去银行签字使用自己的笔是一个道理,在py中可以解释为:即使函数定义了常量参数,但是实参中有自己的值,在执行中还是要使用实参的值而不是形参。
关于实参和形参:实参就是你调用函数时候的参数,而形参是你声明函数时候的参数。
关于global的一点补充:
如果你在函数内对全局变量进行了更改,列表和字典不用加关键字global就能实现函数内对全局的字典或者列表的更改。而列表和字典加上关键字不会报错,但是增加了代码的可读性。
python3中的缺省参数和global的更多相关文章
- python3中匿名函数做参数,匿名函数做实参,eval关键字
一:说到匿名函数,大家都感到陌生又熟悉,今天我带大家了解一下py3中的匿名函数,以及匿名函数作为函数的参数的情况 主要通过以下实例来说明: 实例一: newarr =[33,44444,6222,88 ...
- Python3中string内置参数
说明: 使用ipython查看python3的内置函数 ,只需要输入字符串按两下tab键 capitalize():将字符串中第一个字符大写 casefold:将字符串中的所有大写字母转为小写 cen ...
- C++初阶(命名空间+缺省参数+const总结+引用总结+内联函数+auto关键字)
命名空间 概述 在C/C++中,变量.函数和后面要学到的类都是大量存在的,这些变量.函数和类的名称将都存在于全局作用域中,可能会导致很多冲突.使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲 ...
- C++ 语言中的重载、内联、缺省参数、隐式转换等机制展现了很多优点
C++ 语言中的重载.内联.缺省参数.隐式转换等机制展现了很多优点,但是这些 优点的背后都隐藏着一些隐患.正如人们的饮食,少食和暴食都不可取,应当恰到好处. 我们要辨证地看待 C++的新机制,应该恰如 ...
- php重建二叉树(函数缺省参数相关的都写在后面,比如array_slice函数中的$length属性,故第一个参数是操作的数组)
php重建二叉树(函数缺省参数相关的都写在后面,比如array_slice函数中的$length属性,故第一个参数是操作的数组) 一.总结 牛客网和洛谷一样,是真的好用 二.php重建二叉树 输入某二 ...
- Python中方法的缺省参数问题分析
引言: 在Python中可以缺省给方法制定缺省值,但是这个缺省值在某些情况下确是和我们预期不太一致的-... 这个诡异的问题,曾经困然了我几天时间,才最终定位出来-.. 测试代码 from datet ...
- Python3中的函数 大全
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().但也可以自己创建 ...
- 关于Python3中函数:
# 关于Python3中函数: - 定义 定义函数使用关键字def,后接函数名和放在圆括号()中的可选参数列表,函数内容以冒号起始并且缩进.一般格式如下:``` def 函数名(参数列表): &quo ...
- python中定义函数和参数的传递问题
作者:達聞西链接:https://zhuanlan.zhihu.com/p/24162430来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 5.2.4 函数.生成器和类 ...
随机推荐
- 【VBA】读取另一个excel工作簿中的内容
后台打开工作簿读取内容源码: Sub subOpenWorkbook() Dim datebase As String datebase = "... ....xlsx" Appl ...
- DFS————从普及到IOI(暴力骗分小能手)
DFS 啦啦啦,再来水一波 先说思想吧! 背景: 深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法. ----来自度娘 一.思想 DFS算法思 ...
- 数据泵导入,报错:ORA-12899: value too large for column "SCOTT"."TEST112"."JOIN" (actual: 9, maximum: 8)
1.报错: 数据泵执行导入时报错:ORA-12899: value too large for column "SCOTT"."TEST112"."J ...
- 每日三道面试题,通往自由的道路5——JVM
茫茫人海千千万万,感谢这一秒你看到这里.希望我的面试题系列能对你的有所帮助!共勉! 愿你在未来的日子,保持热爱,奔赴山海! 每日三道面试题,成就更好自我 昨天既然我们聊到了JVM,那我们继续这一个话题 ...
- 浏览器中js怎么将图片下载而不是直接打开
网上找了好多方法都是不能用的,经过试验在Chrome中都是直接打开. 经过自己的摸索,找到了一套能用的解决方案 var database = "data:image/jpg;base64,& ...
- SpringBoot 拦截器妙用,让你一个人开发整个系统的鉴权模块!
我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复[资料],即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板. Han ...
- python返回列表最大值(java返回数组最大值)
b=["3","2","1","6","5","2","1" ...
- Cable TV Network 顶点连通度 (最大流算法)
Cable TV Network 题目抽象:给出含有n个点顶点的无向图,给出m条边.求定点联通度 K 算法:将每个顶点v拆成 v' v'' ,v'-->v''的容量为1. ...
- LRU工程实现源码(一):Redis 内存淘汰策略
目录 内存淘汰是什么?什么时候内存淘汰 内存淘汰策略 Redis中的LRU淘汰算法 源码剖析 第一步:什么时候开始淘汰key 配置读取 检查时机 getMaxmemoryState 第二步:淘汰哪些k ...
- Html:行级元素和块级元素标签列表
块级元素 div p h1-h6 form ul ol dl dt dd li table tr td th hr blockquote address table menu pre HTML5: h ...