## 简述迭代器和生成器以及他们之间的区别?
迭代器就是用于迭代操作的的对象,遵从迭代协议(内部实现了__iter__()和__next__()方法,可以像列表(可迭代对象,只有__iter__()方法)一样迭代获取其中的值,与列表不同的是,构建迭代器的时候,不像列表一样一次性把数据加到内存,而是以一种延迟计算的方式返回元素,即调用next方法时候返回此值。
生成器本质上也是一个迭代器,自己实现了可迭代协议,与生成器不同的是生成器的实现方式不同,可以通过生成器表达式和生成器函数两种方式实现,代码更简洁。生成器和迭代器都是惰性可迭代对象,只能遍历一次,数据取完抛出Stopiteration异常
- 空白目录
- Python面试宝典
- 01-互联网协议定义
- 02-传输层基于tcp协议的三次握手和四次挥手
- 03-为什么连接的时候是三次握手,关闭的时候却是四次挥手?
- 04-什么是socket?
- 05-什么是多路复用和多路复用要解决的问题?
- 06-并发与并行的区别?
- 07-进程、线程、协程的定义?
- 08-进程、线程、协程的区别?
- 09-进程同步锁概念介绍
- 10-生产者消费者模型?
- 11-进程与线程的关系?
- 12-什么是协程?
- 13-数据库分类
- 14-MyISAM和InnoDB搜索引擎的特点
- 15-char 和varchar字符串类型的区别?
- 16-foreign key外键关联(一对多)实例。
- 17-mysql索引相关介绍
- 18-MySQL在以下操作场景下会使用索引
- 19-redis如何做持久化?
- 20-django的http请求流程
- 21-http协议与https协议的区别?
- 22-websocket协议?
- 23-单列模式
- 24-递归实现二分查找实例
- 25-冒泡排序
- 26-栈
- 27-简述cpython的内存管理机制
- 28-代码异常
- 29-列举你知道的python魔法方法及用途
- 30-copy和deepcopy的区别是什么?
- 31-代码中经常遇到的*args和**kwargs的含义及用法
- 32-HTTP Header及其功能
- 33-简述cookie和session的区别和联系
- 34-简述什么是浏览器的同源策略
- 35-简述python上下文管理器原理,并用上下文管理器简单实现将”hello world”,写入文件的功能。
- 37-简述一致性哈希原理和他要解决的问题
- 36-Python中@staticmethod和@classmethod的区别。
- 38-Python里面search()和match()的区别。
- 39-简述迭代器和生成器以及他们之间的区别?
- 40-菲波那切数列
- 41-列表表达式与生成器表达式的区别
- 42-什么是装饰器?请用装饰器实现singleton
- 43-写一个简单的python sockect编程
- 44-代码题
- 45-代码题2
- 46-url题
- 47-django里Queryset的get和filter方法的区别?
- 48-简述django对http请求的执行流程。
- 49-简述django下的(内建的)的缓存机制
- 50-列表的sort方法和sorted的区别是什么?
- 51-Python中变量的作用域(变量的查找顺序)
- 52-sql注入
- 53-解释python脚本程序的"name"变量及其作用
- 54-解释python字符串驻留机制。
- 55-解释下HTTP常见响应状态码
- 56-python是如何进行内存管理的
- 57-mysql中随着数据量的增大,查询速度会越来越慢,请给出简易的优化方案
- 58-开启多进程实例