摘要: 什么是生成器 生成器就是一种自定义一的迭代器 为什么要有生成器 1. 提供一种自定义迭代器的解决方案 yield 和 return的区别 相同点:都能返回值,并且返回值没有类型与个数限制不同点:yield可以返回值多次值,而return只能返回一次值 PS:函数只要遇到return就整个程序都结束, 阅读全文
posted @ 2018-11-25 14:21 clyde_S 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 什么是迭代器 什么是迭代:迭代就是一个重复的过程,但是每一次重复都是基于上一次的结果而进行的 迭代器就是用来迭代取值的工具 迭代器的优点: 1、提供了一种可以不依赖索引的迭代取值方式 2、迭代器就是一个功能,对于内存只占自身代码需要的内存空间,几乎不占用内存空间 迭代器的缺点: 1、迭代器是一次性的 阅读全文
posted @ 2018-11-25 11:49 clyde_S 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是装饰器 装饰器就是用来为被装饰的对象新增功能的工具/函数,被装饰的对象可以是任意可调用的对象,装饰器本身也可以是任意可调用的对象2. 为何要用装饰器 开放封闭原则:对修改封闭,对扩展开放 装饰器需要遵循的原则: 1. 不能修改被装饰对象的源代码 2. 不能修改被装饰对象的调用方式 装饰器 阅读全文
posted @ 2018-11-18 12:21 clyde_S 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 什么是闭包函数 函数嵌套+函数对象+名称空间与作用域 闭:定义在函数内的函数 包:该内部函数需要访问一个名字,该名字属于外层函数作用域的(强调:不是全局作用域) 为何要用闭包函数 为了实现装饰器如何用闭包函数 def outter(): xxx=111 #这个就是外层函数作用域 def inner( 阅读全文
posted @ 2018-11-18 11:49 clyde_S 阅读(1498) 评论(0) 推荐(0) 编辑
摘要: 名称空间namespaces 名称空间就是存放名字与值绑定关系的内存空间 名称空间内部呈现的格式,是以字典的形式呈现给你看,即key=valus的格式,但是不是字典类型,只是呈现的方式是字典的样式 名称空间分为三种 内置名称空间: 1. 特点: 存放是python解释器自带的名字,len,print 阅读全文
posted @ 2018-11-18 11:17 clyde_S 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 函数的嵌套分为两类:1、函数的嵌套定义: 在函数内部又定义了一个函数 def foo(): x=1 #print(x) def bar(): print('from bar') def shop(): print(‘开始购物’) shop() #这里调取第三层的功能,所以从第三层开始就每一层都调用一 阅读全文
posted @ 2018-11-18 10:02 clyde_S 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 函数对象指的是: 函数的内存地址可以像变量值一样去使用 函数对象的使用 def func(): #定义一个函数 print('from func') #这是功能 1、函数对象可以被引用 f=func #将函数地址放到一个变量中 print(f) #打印这个函数的值,得到的是一个函数的内存地址 f() 阅读全文
posted @ 2018-11-18 09:42 clyde_S 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 名称空间 又名name space,顾名思义就是存放名字的地方 例:若变量x=1,1存放于内存中,那名字x则存放于名称空间,名称空间与值绑定关系的地方 名称空间共3种 1、locals:是函数内的名称空间,包括局部变量和形参 2、globals:全局变量,函数定义所在模块的名字空间 3、builti 阅读全文
posted @ 2018-11-08 13:49 clyde_S 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 什么是函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需调用其函数名即可 1、减少重复代码 2、使程序变的可扩展 3、使程序变得易维护 定义函数的语法 形参 主要的作用就是接受实参参数的传递,并且被语法调用 #形参只有在被调用时才内存单元,在调用解释时,即可释放所分 阅读全文
posted @ 2018-11-08 11:34 clyde_S 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 三元运算又称三目运算,是对简单的条件语句的简写 如:if 条件成立: val = 1 else: val =2 将上述条件语句改成三元运算则几行的判定只需要一行 val = False val = 1 if val == True else 2 print(val) 阅读全文
posted @ 2018-11-06 14:04 clyde_S 阅读(296) 评论(0) 推荐(0) 编辑