一 生成器初探 什么是生成器? 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象 生成器分类及在python中的表现形式:(Python有两种不同的方式提供生成器) 1.生成器函数:常规函数定义,但是,使用yi ...
分类:
编程语言 时间:
2017-06-16 14:23:07
阅读次数:
235
2 编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017-07-21 11:12:11 f1 run写入到文件中 注意:时间格式的获取 import time time.strftime('%Y-%m-%d %X') 3 判断下列数据类型是可迭代对象or迭代器s='hello'l=[1,2 ...
分类:
编程语言 时间:
2017-06-15 21:51:17
阅读次数:
128
一 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约 ...
分类:
编程语言 时间:
2017-06-15 15:26:59
阅读次数:
207
next() next() 返回迭代器的下一个项目。 iterator - 可迭代对象. default - 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。返回对象帮助信息。 语法: next(iterator[, defaul ...
分类:
编程语言 时间:
2017-06-12 20:37:42
阅读次数:
215
本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators,俺写的这篇文章是按照自己的理解做的参考翻译,算不上是原文的中译版本,推荐阅读原文,谢谢网友指正。 在了解Python的数据结构时,容器(container)、可迭代对象(iterable) ...
分类:
编程语言 时间:
2017-06-09 19:20:33
阅读次数:
304
dict() 作用:dict() 函数用于创建一个字典。返回一个字典。 语法: 参数说明: **kwargs -- 关键字 mapping -- 元素的容器。 iterable -- 可迭代对象 实例: ...
分类:
编程语言 时间:
2017-06-06 18:41:58
阅读次数:
190
一 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约 ...
分类:
编程语言 时间:
2017-06-05 14:23:42
阅读次数:
298
之前在python基础我们有了解到对变量赋值可以用x = 5或者 x,y = 3,5 问题一:现在有一个包含N个元素的元组或者序列,怎样将它里面的值解压后同时赋值给N个变量? 答:任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。唯一的前提就是变量的数量必须跟元素的数量是 ...
分类:
其他好文 时间:
2017-06-04 14:43:40
阅读次数:
144
一、可迭代对象和迭代器 1.迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下一次迭代的初始值 注:循环不是迭代 2.可迭代的对象 内置__iter__方法的,都是可迭代的对象。 list是可迭代对象,dict是可迭代对象,set也是可迭 ...
分类:
编程语言 时间:
2017-06-04 10:43:50
阅读次数:
212
一、线性结构list、tuple、str、bytes、bytearray,range()都是顺序存储、顺序访问的、都是可迭代对象、都可以通过索引访问;被称为线性结构可使用len()获取长度、可以切片,可以使用iter()将可迭代对象转换为迭代器In[16]:r=range(8)
In[17]:r
Out[17]:range(0,8)
In[18]:i=..
分类:
编程语言 时间:
2017-06-02 01:17:59
阅读次数:
238