美文网首页
Vuex、可迭代对象、迭代器、生成器、协程

Vuex、可迭代对象、迭代器、生成器、协程

作者: 琉佳 | 来源:发表于2019-11-14 23:03 被阅读0次

1、Vuex:一个专为 Vue.js 应用程序开发的状态管理模式。

下载命令:npm install --save vuex

Vuex 应用的核心是 store

改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation

状态存储是响应式的

Action 提交的是 mutation,而不是直接变更状态

Action 可以包含任意异步操作

Action 通过 store.dispatch 方法触发

2、

可迭代对象:我们已经知道可以对list、tuple、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。

我们把可以通过for...in...这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)**

判断对象是否可迭代:使用 isinstance() 判断一个对象是否是 Iterable 对象

*可迭代对象的本质就是可以向我们提供一个这样的中间“人”即迭代器帮助我们对其进行迭代遍历使用。

*在迭代一个可迭代对象的时候,实际上就是先获取该对象提供的一个迭代器,然后通过这个迭代器来依次获取对象中的每一个数据.

*可以通过iter()函数获取这些可迭代对象的迭代器

总:一个具备了__iter__方法的对象,就是一个可迭代对象

当我们已经迭代完最后一个数据之后,再次调用next()函数会抛出StopIteration的异常,来告诉我们所有数据都已迭代完成,不用再执行next()函数了。

一个实现了__iter__方法和__next__方法的对象,就是迭代器。

除了for循环能接收可迭代对象,list、tuple等也能接收。

如果想要一个对象成为一个可以迭代的对象(即可以使用for),那么必须实现__iter__方法

3、生成器:为了达到记录当前状态,并配合next()函数进行迭代使用,我们可以采用更简便的语法,即生成器(generator)。生成器是一类特殊的迭代器

只要在def中有yield关键字的 就称为 生成器;使用了yield关键字的函数不再是函数,而是生成器

yield关键字作用:保存当前运行状态(断点),然后暂停执行,即将生成器(函数)挂起

将yield关键字后面表达式的值作为返回值返回,此时可以理解为起到了return的作用

*可以使用next()函数让生成器从断点处继续执行,即唤醒生成器(函数)

*使用send()唤醒:除了可以使用next()函数来唤醒生成器继续执行外,还可以使用send()函数来唤醒执行

使用send()函数的一个好处是可以在唤醒的同时向断点处传入一个附加数据

4、协程:协程是python个中另外一种实现多任务的方式

自带CPU上下文;只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的

相关文章

  • Python day17_协程

    协程的引入 要讲协程 先要知道什么是迭代对象 迭代器 以及生成器 迭代对象 迭代: 使用for循环遍历取值的过程就...

  • Vuex、可迭代对象、迭代器、生成器、协程

    1、Vuex:一个专为 Vue.js 应用程序开发的状态管理模式。 下载命令:npm install --save...

  • Python 高级 7

    迭代、迭代器、生成器、协程、yield、greenlet、gevent、进程线程协程对比、gevent多任务图片下...

  • Python基础-16生成器-迭代器

    16.生成器-迭代器     可循环迭代的对象称为可迭代对象,迭代器和生成器函数是可迭代对象,在Python中提供...

  • 迭代器、生成器和协程

    迭代器、生成器和协程 可迭代(Iterable) Python 中任意的对象, 只要定义了可以返回一个迭代器的 _...

  • Python可迭代对象,迭代器,生成器关系

    列表,元组,字符串,迭代器,生成器都是可迭代对象。所以,可迭代对象不一定是迭代器,生成器。 将一个可迭代对象传递给...

  • PHP高级用法

    一、迭代器 二、生成器 三、yield 四、协程

  • 迭代器

    可迭代对象(Iterable): for迭代器(Iterator): for + next生成器属于迭代器。 验...

  • 可迭代对象、迭代器、生成器

    可迭代对象 --> 迭代器 --> 生成器; 可迭代对象:实现了__iter__()方法的对象,该方法返回迭代对象...

  • Python 多任务3: 协程

    一、总体内容 1.1、协程的介绍 1.2、迭代器以及迭代器的应用 1.3、生成器(生成器与迭代器保存的都是生成数据...

网友评论

      本文标题:Vuex、可迭代对象、迭代器、生成器、协程

      本文链接:https://www.haomeiwen.com/subject/idndictx.html