当前位置: 首页 > news >正文

免费网页软件成都网站排名优化开发

免费网页软件,成都网站排名优化开发,河间做网站,设计师一般多少岁被淘汰「Author#xff1a;Runsen」学习python的过程中#xff0c;迭代器与生成器是绕不开的话题#xff0c; 什么是迭代器和生成器呢#xff1f;下面我们来了解一下什么是迭代。但在了解迭代器之前#xff0c;首先需要知道什么是容器。容器正所谓#xff1a;一切都是对象…「AuthorRunsen」学习python的过程中迭代器与生成器是绕不开的话题 什么是迭代器和生成器呢下面我们来了解一下什么是迭代。但在了解迭代器之前首先需要知道什么是容器。容器正所谓一切都是对象对象的抽象就是类而对象的集合就是容器。容器就是有多个对象组成的东西。比如列表[0,1,2]元组(1,2,3),字典{’0:0,1:1}集合{1,2,3}都是容器。「所有的容器都是可迭代对象也就是可以使用for循环遍历元素。」# 1、for 循环迭代字符串, 字符串之间使用空格连接for char in RUNSEN:print(char, end )输出如下R U N S E N# 2、for 循环迭代 list 列表列表元素之间使用空格连接list1  [i for i in range(5)]  # 这里使用了列表生成表达式for num in list1:print(num, end )输出如下0 1 2 3 4# 3、for 循环迭代 dict (字典)dict  {name: Runsen, age: 21, sex: 男}# 迭代 dict 中的 key(默认是迭代key)for key in dict:print(key, end )for value in dict.values():print(value, end )输出如下name age sexRunsen 21 男# 4、list 中一个元素中还有多个元素for x, y in [(1, a), (2, b), (3, c)]:print(x, y)输出如下1 a2 b3 c可迭代对象所有的容器都是可迭代对象(iterable)从专业角度来讲只要:内部含有__iter__方法的对象就是可迭代对象。因此我只要使用print(__iter__ in dir(XX))就能判断XX是不是可迭代对象。人们常说列表、元组、字典、字符串都是可迭代对象。数字、布尔值都是不可迭代的。我一试便知。list,dict(keys(),values(),items()),tuple,str,set,range, 文件句柄(待定)print(__iter__ in dir(list))print(__iter__ in dir(tuple))print(__iter__ in dir(dict))print(__iter__ in dir(set))print(__iter__ in dir(str))print(__iter__ in dir(int))print(__iter__ in dir(bool))print(__iter__ in dir([1,2,3]))输出如下TrueTrueTrueTrueTrueFalseFalseTrue除了print(__iter__ in dir(XX))判断是不是可迭代对象。还是一种通过Iterable和isinstance方法联合使用进行判断。from collections import Iterableprint(isinstance(abc, Iterable))print(isinstance({1, 2, 3}, Iterable))print(isinstance(1, Iterable))输出如下TrueTrueFalse「注意list,string,tuple,dict 都属于可迭代对象但不是迭代器」迭代器迭代器(iterator)只是提供了一个 next 的方法。调用这个方法后你要么得到这个可迭代对象的下一个对象要么得到一个 StopIteration的错误。那么如何声明一个可迭代对象可以通过__iter__() 来生成可迭代对象前提是__iter__()传入的参数是容器。你看下图iter(111)是不是报错了。 因为111不能遍历所以iter(111)直接报错。取值上面说过迭代器提供了一个next方法调用这个方法得到了容器的下一个对象或者一个stopiteration 的报错具体代码如下所示。a  iter(123)next(a)1next(a)2next(a)3next(a)Traceback (most recent call last):File , line 1, in StopIteration生成器那么什么又是生成器和迭代器又有什么关系其实生成器也是迭代器但更加优雅。使用生成器我们可以实现与迭代器相同的功能但不必在类中编写iter()和next()函数「我觉得生成器就是一个迭代器的例子。」如果说迭代器是人那么生成器就人中的一类人比如黄人。为什么会出来一个生成器其实很简单声明一个迭代器很简单但是很容易造成内存不够。生成器不会将集合中所有的元素都加载到内存。比如下图(i for i in range(1000000000)通过元组方式生成生成器。如果使用迭代器那么当声明迭代器就运行不了了。 [i for i in range(1000000000] 它本是一个迭代器但因占用的内存太大了跑不起来于是古人引出了生成器的概念当你用的时候再加载到内存空间中。在声明生成器中还有一种方法通过yield关键字。yield和return的区别在于yield并没有终止函数而return返回值后不再执行函数内代码。对于yield在scrapy用的多然后我在其他地方没有见到过。引用yield带yield的函数就叫做生成器具体示例如下所示。def test():yield 1yield 2yield 3t  test()print(next(t))#output:1print(next(t))#output:2print(next(t))#output:3print(next(t))#output:Traceback (most recent call last):StopIteration今天也学到了很多东西呢明天有什么新知识呢真期待鸭。如果喜欢文章可以关注我哦~❝本文已收录 GitHub传送门~[1] 里面更有大厂面试完整考点欢迎 Star。❞Reference[1]传送门~: https://github.com/MaoliRUNsen/runsenlearnpy100
http://wiki.neutronadmin.com/news/180521/

相关文章:

  • 驻马店市住房和城乡建设局网站.net网站服务器
  • 电影网站如何建设佛山网站建设no.1
  • 苏宁网站优化与推广在线书店网站怎么做
  • 传媒公司可以做网站么做公司官网需要哪些数据
  • 东莞网站建设规范美食网页设计免费模板
  • 零遁nas做网站dz怎么做视频网站
  • 源码网站模板台州专业做网站
  • 资源下载网站建设网站开发维护前景
  • 网站和app设计区别wordpress如何设置外网访问
  • 企业网站报告册设计模板有域名了怎么建立网站
  • 网站建设基本情况境外企业网站推广
  • 自己做的网站很慢网站开发 知乎
  • wap网站不流行wordpress阿里矢量图使用方法
  • 鞍钢节能公司网站开发受欢迎的昆明网站建设
  • 海外网站cdn加速下载百度推广非企代理
  • 贵州专业网站建设公司哪家好网页升级访问最新区域每天自动更新
  • 如何使用ftp上传网站简洁大气企业网站
  • 宏润建设集团股份有限公司网站网站导航
  • 哪个网站做欧洲旅行比较好网站做子页面怎么做
  • 网站logo设计创意非标自动化东莞网站建设
  • 赢展网站建设郑州网站制作公司
  • 交互式网站是什么郑州网站制作网页
  • 网站上怎么做动图上海网站建设服务市价
  • 网站定制开发怎么写海南省建筑信息平台
  • 网站标题格式中国教学网站
  • 网站源码和模板的区别wordpress的图片用cdn
  • 网站维护推广微信公众平台人工电话
  • 网站数据库 mysql贵港网站建设动态
  • 南宁网站建设兼职wordpress欢迎邮件代码
  • 宿迁北京网站建设网上商城网站建设