函数篇
风中琉璃
这个作者很懒,什么都没留下…
展开
-
python之路---闭包函数
闭包函数:定义在函数内部的函数,并且该函数包含对外部函数作用域中名字的引用-->称为... 注意:该函数的作用域关系在函数定义阶段就规定死了,与调用位置无关!!!# 例一def f(): x = 1 def f1(): print(x) return f1x=22f = f()f()--->执行结果:1#例二...原创 2018-07-28 20:16:02 · 223 阅读 · 0 评论 -
python之路 ---列表/字典生成式及匿名函数
列表解析:l = ['aaa','bbb','ccc'] #将l内的元素全部变为大写...L = []for i in l: L.append(i.upper())print(L) #使用列表解析:L = [i.upper() for i in l]print(L)#for之后可以跟个if判断语句(但不能有else)l = ['aaa','bbb','ccc'...原创 2018-08-02 15:33:31 · 712 阅读 · 0 评论 -
python之路 ---递归函数及二分法
递归:在函数调用的过程中,直接或者间接的调用了函数本身分为两个阶段:1.回溯(一次次的调用下去,必须要有某个值来结束,否则一直调用下去) 2.递推def f(): print('你好') f()f()#这样的递归是没有意义的死循环#而且,在第一次调用f()执行到f()后,又调用自己(但是第一次的f()并未结束),这样执行f()所申请的内存#空间会越来越多,p...原创 2018-08-02 14:26:34 · 456 阅读 · 0 评论 -
python之路---装饰器补充(wraps应用)
装饰器的作用: 对程序者来说:就是为了在遵循开放-封闭原则的前提下,为被装饰对象添加新的功能 对于使用者来说:从表面上来看使用方式和以前并没有改变import timedef timer(func): def wrapper(*args,**kwargs): start_time = time.time() res=func(*...原创 2018-08-02 13:51:23 · 585 阅读 · 0 评论 -
python之路---装饰器补充(嵌套顺序)
叠加装饰器的使用是有顺序的:1.解释@语法是自下而上的2.执行装饰器是自上而下的import timestate = {"uname": None}def auth(func): def wapper1(*args,**kwargs): if state['uname']: res = func(*args, **kwargs)...原创 2018-08-01 13:41:37 · 479 阅读 · 0 评论 -
python之路 ---名称空间与作用域
函数是第一类对象---->函数名指向值的内存地址,可以被当作数据使用 1:可以被引用 2:可以当作参数传入函数 3:可以在函数内作为返回值 4:可以作为容器的元素名称空间:用于存放函数名与值绑定关系的地方(但凡要查找值,一定得通过变量名,而变量名需要查找名称空间)名称空间分为三类:1.内置名称空间(在pyhon解释器运行时生效,关闭时失效)2.全局名称空...原创 2018-07-31 14:02:52 · 187 阅读 · 0 评论 -
python之路---装饰器
开放---封闭原则:在软件上线后,对修改是封闭的(包括修改源代码以及调用方式),对新功能的扩展是开放的装饰器:在不修改源代码及其调用方式的前提下,为被装饰对象添加新功能def home(): print('进入观影模式...')home() 对于上述函数,现在需要给他加一个验证功能. 方式一:def home(): uname = input('输入...原创 2018-07-30 13:52:21 · 124 阅读 · 0 评论 -
python之路---函数2
函数的参数.可分为:形参和实参 形参:在函数定义时,括号内定义的参数 --->变量名 实参:在函数调用时,传入括号内的值 --->变量值 注:形参与实参的绑定关系仅仅存在于函数调用的时候,调用结束,绑定关系失效1.位置参数:按照位置从左到右定义的参数 a.位置形参:在函数定义时,按照位置定义的形参def fun...原创 2018-07-23 22:15:16 · 343 阅读 · 0 评论 -
python之路---函数1
函数的意义---->解决以下三个问题: 1.程序结构不清晰,可读性差 2.代码冗余 3.维护性差,有时候需要修改多处函数定义: 语法:def 函数名(): " " " 文档描述 ----->用于增强函数的可读性 ...原创 2018-07-22 22:40:10 · 172 阅读 · 0 评论 -
python之路---可迭代对象与迭代器
什么是迭代器:对于迭代:迭代就是重复的过程,每次重复都是基于上一次的结果所以,迭代器可以理解为一种迭代取值的工具为什么要有迭代器: 对于列表,元组,字符串这些有序的数据类型来说,可以通过索引取值,而对于字典,集合,文件这些,索引的方式就行不通,所以python为我们提供了一种可以不依赖索引的通用迭代取值方式--->依靠迭代器取值 怎么用迭代器: 1.可迭代...原创 2018-08-03 11:45:51 · 155 阅读 · 0 评论