##switch表达式(预览) 在JDK 12中引入了Switch表达式作为预览特性。JDK 13提出了第二个switch表达式预览。JEP 354修改了这个特性, 它引入了yield语句,用于返回值。这意味着,switch表达式(返回值)应该使yield, switch语句(不返回值)应该使用 b ...
分类:
编程语言 时间:
2020-09-04 17:43:46
阅读次数:
65
一、概念 #只要函数内部包含有yield关键字,那么函数名()的到的结果就是生成器,并且不会执行函数内部代码 def func(): print(' >first') yield 1 print(' >second') yield 2 print(' >third') yield 3 print(' ...
分类:
其他好文 时间:
2020-08-17 17:48:59
阅读次数:
88
SonarQube简介 SonarQube是一个代码质量管理开放平台,它集成了数千种自动的静态代码分析规则, 以python为例,典型的静态代码分析规则: l "break" and "continue" should not be used outside a loop l "yield" and ...
分类:
其他好文 时间:
2020-08-10 16:13:18
阅读次数:
65
一、greenlet模块 如果我们在单个线程内有20个任务,要想实现在多个任务之间切换,使用yield生成器的方式过于麻烦(需要先得到初始化一次的生成器,然后再调用send。。。非常麻烦),而使用greenlet模块可以非常简单地实现这20个任务直接的切换。 from greenlet import ...
分类:
其他好文 时间:
2020-07-30 14:50:03
阅读次数:
64
1.yield实现的功能yield return:先看下面的代码,通过yield return实现了类似用foreach遍历数组的功能,说明yield return也是用来实现迭代器的功能的。 using static System.Console; using System.Collections ...
在认识yield的时候,网上很多文章都是说这个是个生成器,但是我并不知道这个是用来做什么的,所以概念很快就忘记了,后面读了几个文章以后感觉茅塞顿开。我就接介绍一下。 有一篇文章提到,可以把yield看成是生成器的return的一部分,首先一个return的作用是在程序中返回某个值,返回之后程序就不再 ...
分类:
编程语言 时间:
2020-07-28 14:38:10
阅读次数:
78
yield 是产出的意思,就是返回一个值,这一点有点像return,但是不会结束函数的执行。那它什么时候继续执行呢?等待下一次迭代器被调用时候返回上次中断的地方, 利用这个特性可以实现range函数: def my_range(max_num): i = 0 while i < max_num: y ...
分类:
其他好文 时间:
2020-07-27 23:43:11
阅读次数:
103
ES6 Generator: 利用阮大神的书中描述的: 形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态(yield在英语里的意思就是“产出”)。 其实简单来说就是通过各种状态 ...
<script type="text/javascript"> function* myGenerator(){ console.log('业务逻辑A') let result=yield 'hello' console.log(result) console.log('业务逻辑B') yield ...
分类:
其他好文 时间:
2020-07-26 15:13:08
阅读次数:
51
CrawlSpider一直无法进入回调函数的 碰到的两个坑: 1、正则表达式写的不对 start_urls = ['http://wz.sun0769.com/political/index/politicsNewest?id=1&page=1'] link = LinkExtractor(allo ...
分类:
其他好文 时间:
2020-07-26 01:52:52
阅读次数:
85