前言 在上一篇博客中,笔者带大家一起探讨了生成器与迭代器的本质原理和使用,本次博客将重点聚焦于生成器对象的send方法. 一.send方法详解  我们知道生成器对象本质上是一个迭代器.但是它比迭代器对象多了一些方法,它们包括send方法,throw方法和close方法等.生成器拥有的这些方法,主要用于外部与生成器对象的交互.我们来看看生成器对象到底比迭代器多了哪些方法: def func(): yield 1 g = func() item_list = [1, 2, 3, "spark&quo…
属性: 公有属性  (属于类,每个类一份) 普通属性  (属于对象,每个对象一份) 私有属性    (属于对象,跟普通属性相似,只是不能通过对象直接访问) 方法:(按作用) 构造方法 析构函数 方法:(按类型) 普通方法 私有方法(方法前面加两个下划线) 静态方法 类方法 属性方法 静态方法 @staticmethod静态方法,通过类直接调用,不需要创建对象,不会隐式传递self 类方法 @classmethod类方法,方法中的self是类本身,调用方法时传的值也必须是类的公有属性,就是说类方法…
yield作用 简单地讲,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator.下面以斐波拉契数列来做个说明: # 普通的函数实现 def fib(max): n, a, b = 0, 0, 1 while n < max: print(b) a, b = b, a + b n = n + 1 return 'done' """不足: 在 fab 函数中用 pri…
前言 前面一篇博客笔者带大家详细探讨了生成器与迭代器的本质,本次我们将实际分析一个具体案例来加深对生成器与迭代器相关知识点的理解. 本次的案例是一个文件过滤操作,所做的主要操作就是过滤出一个目录下的文件中含有python的行.我们先直接上代码: import os def init(func): #预激生成器 装饰器 def wrapper(*args,**kwargs): g=func(*args,**kwargs) # 这里是一个生成器函数 next(g) return g return w…
生成器对象是一个迭代器.但是它比迭代器对象多了一些方法,它们包括send方法,throw方法和close方法.这些方法,主要是用于外部与生成器对象的交互.本文先介绍send方法. send方法有一个参数,该参数指定的是上一次被挂起的yield语句的返回值.这样说起来比较抽象,看下面的例子. def MyGenerator(): value = (yield 1) value = (yield value) gen = MyGenerator()print gen.next()print gen.…
一.可迭代对象 对象必须提供一个__iter__()方法,如果有,那么就是可迭代对象, 像列表,元祖,字典等都是可迭代对象可使用isinstance(obj,Iterable)方法判断 from collections import Iterable,Iterator l={':2,'fd':5,'f':6} l_i=l.__iter__() print(isinstance(l,Iterable)) print(isinstance(l_i,Iterator)) 结果: True True 二…
目录 目录 前言 软件环境 列表List 修改列表的元素 插入列表元素 extend 将序列中的元素迭代的附加到list中 insert 在指定的索引号中插入一个元素 删除列表元素 del 删除List中的元素 pop 弹出List中的一个元素 remove 删除List中一个指定Value的元素 排序列表元素 sort 正向排序 Operator Module支持排序 reverse 逆向排序 count 统计元素在list中出现的次数 List的深Copy和浅Copy 最后 前言 在上一篇中…
目录 目录 前言 软件环境 序列类型 序列的操作方法 索引调用 切片运算符 扩展切片运算符 序列元素的反转 连接操作符 重复运算符 成员关系符 序列内置方法 len 获取序列对象的长度 zip 混合两个序列对象 enumerate 枚举出序列对象的元素 sorted 序列的排序 reversed 返回一个逆序访问的迭代器 min 取出sequence中的最小值 max 取出sequence中的最大值 sum 计算序列中的各项元素和 all 检测sequence中各项元素是否均为True any…
http://www.feeldesignstudio.com/2013/09/native-javascript-object-properties-and-methods-array/ length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var ar…
python对字符串的处理是比较高效的,方法很多.maketrans和translate两个方法被应用的很多,但是具体怎么用常常想不起来. 让我们先回顾下这两个方法吧: 1.s.translate(table,str) 对字符串s移除str包含的字符,剩下的字符串按照table里的字符映射关系替换.table可以理解为转换表,比较'a' -> 'A', 'b'->'B'. 2.tabel = string.maketrans('s1', 's2') s1 和 s2 的长度必须一致,maketr…