Python协程&asyncio&异步编程 1.协程 协程是微线程,是一种用户态上下文切换技术,通过一个线程实现代码块相互切换执行 实现协程有这么几种方法: greenlet,早期的模块 yield 关键字 asyncio python3.4引入的 async、await关键字 python3.5 ...
分类:
编程语言 时间:
2020-05-03 12:26:34
阅读次数:
62
Generator函数跟普通函数的写法有非常大的区别: 一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield语句,定义不同的内部状态(yield在英语里的意思就是“产出”)。 function* g() { yield 'a'; yield 'b'; yield 'c' ...
分类:
其他好文 时间:
2020-05-01 18:28:59
阅读次数:
51
``` def averager(): print('测试子生成器') total = 0.0 count = 0 average = None while True: term = yield average if term is None: break total += term count +... ...
分类:
其他好文 时间:
2020-05-01 12:54:07
阅读次数:
53
生成器 generator ** 生成器指的是生成器对象,可以由生成器表达式得到,也可以使用 yield 关键字得到一个生成器函数,调用这个函数得到一个生成器对象。 生成器对象,是一个可迭代对象,是一个迭代器。 生成器对象,是延迟计算、惰性求值的。 # 生成器表达式m = (i for i in r ...
分类:
编程语言 时间:
2020-04-29 18:46:24
阅读次数:
71
Js箭头函数 箭头函数是 新增的语法,提供了一种更加简洁的函数书写方式,类似于匿名函数,并且简化了函数定义。 完整写法 完整写法类似于匿名函数,省略了 关键字。 省略小括号 当参数只有 个时,可以省略小括号,当没有参数或者两个以上的参时不能省略小括号。 省略大括号 当函数体只有一行语句时,可以省略 ...
分类:
Web程序 时间:
2020-04-29 15:08:04
阅读次数:
74
背景 其实一开始用的是pymysql,但是发现维护比较麻烦,还存在代码注入的风险,所以就干脆直接用ORM框架。 ORM即Object Relational Mapper,可以简单理解为数据库表和Python类之间的映射,通过操作Python类,可以间接操作数据库。 Python的ORM框架比较出名的 ...
分类:
数据库 时间:
2020-04-26 18:32:39
阅读次数:
67
最大的不同是在等待时 wait 会释放锁,而 sleep 一直持有锁。Wait 通常被用于线 程间交互,sleep 通常被用于暂停执行。 直接了解的深入一点吧: 在 Java 中线程的状态一共被分成 6 种: 初始态:NEW 创建一个 Thread 对象,但还未调用 start()启动线程时,线程处 ...
分类:
编程语言 时间:
2020-04-25 00:48:29
阅读次数:
98
我想要在我的web api里限制一下模型的输入,例如我的一个模型有一个title属性,我不希望新创建title的长度超过20,我能想到的办法只有在Controller的Action里加if语句,但这样会让Controller非常难看,也不利于后面新功能的扩展。 在我需要这个功能之前,我不知道这个功能 ...
前几天,JDK14正式发布了,这次发布的新版本一共包含了16个新的特性。其实,从Java8到Java14,真正的改变了程序员写代码的方式的特性并不多,我们这篇文章就来看一下都有哪些。Lambda表达式Lambda表达式是Java8中最重要的一个新特性,Lambda允许把函数作为一个方法的参数。lambda表达式的语法格式如下:(parameters)->expression或(paramet
分类:
编程语言 时间:
2020-04-23 10:31:17
阅读次数:
96
1. 简介 上一篇中,我们刚刚实现了在每个用例之前执行初始化操作,那么用例执行完之后如需要清除数据(或还原)操作,可以使用 yield 来实现。fixture通过scope参数控制setup级别,既然有setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作。这里用到fixtur ...
分类:
其他好文 时间:
2020-04-20 16:22:37
阅读次数:
69