Python中print函数,python语法print

  Python中print函数,python语法print

  生成器函数是es6中新的异步编程解决方案,其语法与传统函数完全不同。Genertor函数最大的特点是可以交出函数的执行权(即挂起执行)。

  生成器的基本概念:生成器函数也可以称为生成函数,

  形式上:发生器函数是一个普通函数,但与普通函数相比多了两个特性。第一,函数关键字和函数规范之间有一个 * 号;其次,yield表达式用在函数中来定义生成器函数中的每个状态。语法上:生成器函数封装了多个内部状态(内部状态由yield表达式定义)。当执行生成器函数时,返回一个迭代器对象(Iterator对象)。也就是说生成器是一个遍历对象生成函数,函数中封装了多种状态。通过返回的迭代器对象,可以依次遍历(调用下一个方法)生成器函数的每个内部状态。调用上:普通函数被调用后会立即执行,而生成器函数被调用后不会立即执行,而是返回迭代器对象(Iterator object)。通过Iterator对象的next方法遍历内部yield表达式定义的每个状态。生成器模式使用:function * my Generator(){ yield hello yield world return ending } let mg=my Generator()mg。Next ()/{value: hello ,Done: false} mg . next()//{ value: world ,Done:false } mg . next()/{ value: ending ,Done:true } mg . next()/{ value: undefined ,Done:false }以上代码

  在第一次调用时,生成器函数开始执行,直到遇到第一个yield表达式。下一个方法返回一个对象,其value属性是当前yield表达式的值。done属性的值为false,表示遍历尚未结束。

  在第二次调用中,生成器函数从上一个yield表达式停止的地方执行到下一个yield表达式。next方法返回的对象的value属性是当前yield表达式的值世界,done属性的value false表示遍历还没有结束。

  在第三次调用中,生成器函数从最后一个yield表达式停止的地方开始执行,直到返回语句(如果没有返回语句,将一直执行到函数结束)。next方法返回的对象的value属性是紧跟在return语句后面的表达式的值(如果没有return语句,value属性的值是未定义的),done属性的值为true,表示遍历已经结束。

  第四次调用,当生成器函数已经运行完,下一个方法返回的对象的value属性未定义,done属性为true。调用下一个方法后,它将返回这个值。

  总结:调用生成器函数,返回一个表示生成器函数内部指针的遍历对象。以后每次调用遍历对象的下一个方法,都会返回一个带有两个属性的对象:value和done。value属性表示当前内部状态的值,是yield表达式之后的表达式的值;done属性是一个布尔值,指示遍历是否完成。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: