推导式

推导式可以将代码更加简洁

日志

日志打印异常信息,列如

迭代器

from collections import Iterable
迭代是Python最强大的功能之一,是访问集合元素的一种方式。。
字符串,列表或元组对象都可用于创建迭代器:
字符串,列表或元组==>(iterable object)可迭代对象
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:__iter__() 和 __next__()。 
__iter__方法:返回迭代器自身。可以通过python内建函数iter()调用。
__next__方法:当next方法被调用的时候,迭代器会返回它的下一个值,如果next方法被调用,但迭代器没有只可以返回,就会引发一个StopIteration异常。该方法可以通过 python 内建函数next()调用。

迭代器内部持有一个状态,该状态用于记录当前迭代所在的位置,以方便下次迭代的时候获取正确的元素。迭代器有一种具体的迭代器类型,比如list_iterator,set_iterator。可迭代对象实现了__iter__方法,该方法返回一个迭代器对象。

内建函数iter()可以从可迭代对象中获得迭代器。
it = iter(list) # 创建迭代器对象
创建一个迭代器有3种方法,其中前两种分别是:
 1.为容器对象添加 __iter__() 和 __next__() 方法(Python 2.7 中是 next());__iter__() 返回迭代器对象本身 self,__next__() 则返回每次调用 next() 或迭代时的元素;

2. 内置函数 iter() 将可迭代对象转化为迭代器

3.就是生成器(generator)。生成器通过 yield 语句快速生成迭代器,省略了复杂的 __iter__() & __next__() 方式

生成器

第一种方式:将列表的[]改为(),里面可以写推导
 生成器只要调用next()方法即可得到下一个值,到最后一个后异常(StopIteration)退出
用表达式做生成器
例:
test=(x for x in rang(10))
next(test)或test.__next__()
第二种方式:
通过裴波那切序列讲解:将print换成yield,每次生成一个值
但是调用方法时没有结果
在方法内使用yield做生成器,这样调用此方法时,会得出一个结果:generator object...
然后也是可以调用next()
每到yield时,就会停止,返回当前这个值,可以一次一次next()调用,看看运行过程
生成器可以被循环迭代,直到循环结束
import collections
print(isinstance([], collections.Iterable))            # True
print(isinstance(iter([]), collections.Iterator))      # True
print(isinstance(iter([]), collections.Iterable))      # True
print(isinstance([], collections.Iterator))            # False

print(isinstance((x * x for x in range(10)), collections.Iterable))

初学Python(六)相关推荐

  1. python编程用什么电脑好-初学Python编程看哪些书比较好?

    原标题:初学Python编程看哪些书比较好? 我推荐你一些学习Python编程适合看的书,你可以试着看看是不是可以看懂,是不是感兴趣......书中藏着你想要的答案,下面就为大家揭秘学习Python编 ...

  2. 初学Python到月入过万最快的兼职途径(纯干货)

    1.兼职薪资,附行哥工资单 2.兼职门槛,附学习知识清单 3.兼职途径,附入职考核过程 4.行哥的兼职感受 答应行友的第一篇赚钱干货推文来啦,行哥第一个在读书期间通过兼职赚到的10w+收入,这也是初学 ...

  3. 初学python的30个操作难点汇总(入门篇)希望对你有帮助

    初学Python的人总会遇到这样或者那样的问题,在我学习Python的这段时间我总结了自己的29个问题,具体如下: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的 ...

  4. python去除中间空格只留一个_汇总初学Python的21个操作难点,看完别再去踩坑了...

    初学Python时,不管是容易的操作难点,还是困难的操作难点,都是要一步步的去踩坑摸索得出结果,小编今天就给大家汇总初学时Python的21个操作难点,看完之后可别再去掉到同样的坑里去了. 1 查找当 ...

  5. 初学Python常见异常错误,总有一处你会遇到!

    初学Python常见异常错误,总有一处你会遇到! 参考文章: (1)初学Python常见异常错误,总有一处你会遇到! (2)https://www.cnblogs.com/xxpythonxx/p/1 ...

  6. 初学 Python(十三)——匿名函数

    初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...

  7. 安装完python后、还需要安装什么-初学 Python 需要安装哪些软件?

    原标题:初学 Python 需要安装哪些软件? 自动配置.有效求助.协作编程.版本控制.一站式解决 Python 新手练习中的痛点. 痛点 这个学期,我在北得克萨斯大学(University of N ...

  8. 使用python用什么软件-python开发工具有哪些(初学python用什么软件)

    python开发工具有哪些 一.jupyternotebookIDE简介-五星推荐 jupyternotebook是python学习与开发的一款简介的IDE,是一款Web应用程序,便于创建和编写文档等 ...

  9. 自学python爬虫要多久-初学Python爬虫要学多久?原来这么快

    大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里是python学习者聚集地!!同时 ...

最新文章

  1. 360推两款无刘海新机,主打安全和AI,起售价1199
  2. SAP MM Overall Level 审批的采购申请中行项目里的成本中心必须是同一个!
  3. extern C __declspec(dllexport) __declspec(dllimport) 和 def
  4. 将十六进制的字符串转化为UIImage
  5. 【机器学习基础】机器学习模型的度量选择(上)
  6. Python-Learn
  7. CSS3 元素基础知识
  8. 创业者如何利用数字经济实现企业升级?
  9. Linux中的atim、mtime、ctime
  10. 微信小程序:宝宝起名神器
  11. 如何在VS中统计项目代码量
  12. 38译码器数码管c语言代码,51单片机38译码器实现动态数码管控制
  13. MySQL免安装版本的下载/配置/连接DBeaver---详细教程
  14. 群晖Docker百度网盘套件一直灰界面
  15. 网站制作入门指导教程
  16. Vue不同用户权限显示不同内容
  17. jvm的类加载和运行时数据区和垃圾回收
  18. Htmlunit模拟登陆蓝墨云
  19. 2345浏览器如何显示浏览器推送内容
  20. python全栈生鲜电商_Django REST framework+Vue 打造生鲜电商项目(笔记一)

热门文章

  1. oracle instr找多个字符,Oracle instr() 字符查找函数
  2. 安装FreeBSD 13.1系统及配置xfce桌面
  3. 2022 年人工智能全球最具影响力学者榜单——AI 2000 发布,中国占据两大榜首
  4. 【沙发管家】华为荣耀盒子Pro如何通过U盘安装第三方应用
  5. 五个篇章讲明白如何从0到1搭建大数据平台
  6. Android项目添加butterknife(黄油刀)
  7. Android 强制横屏或竖屏设置
  8. Nowcoder | [题解-N165]牛客网NOIP赛前集训营-普及组(第二场)
  9. 计算机毕业设计android平台的出租打车软件app
  10. Unity+Photon自制多人TPS游戏