一、变量 1.什么是变量? 变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等 2.为什么要有变量? 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的 详细地说: 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种 ...
分类:
其他好文 时间:
2020-03-04 18:55:30
阅读次数:
101
多线程 课程内容 并发和并行 线程和进程 概念,区别 线程状态 Thread类 线程常用的方法及线程调度 sleep、yield、join、interrupet... 线程状态转化 关键字 volatile: 特征:可见性、禁止指令重排序 底层实现机制 线程同步:Synchronized 使用场景、 ...
分类:
编程语言 时间:
2020-03-03 15:00:27
阅读次数:
83
协程: 使用一个线程来实现异步操作的。它相对于多线程执行效率高,不存在线程切换;此外协程不牵扯多线程中锁的机制,所以不必考虑加锁这些复杂操作。 协程是通过generator来实现的,就是yield关键字和send()函数的使用。 生成器的yield关键字: yield关键字可以将值(信息)返回,同时 ...
分类:
编程语言 时间:
2020-03-02 12:37:25
阅读次数:
81
yield表达式, 四种形式: a. 不接受输入值或者输入值是None yield 1 b. 接受输入值 s = yield 1 c. 接受输入,但不返回数据,这样默认返回None s = yield d.既不接受输入,也不返回值,默认返回None yield 第一种:当函数调用到yield时,返回 ...
分类:
其他好文 时间:
2020-03-02 11:03:13
阅读次数:
67
协程 1 生成器 初始化生成器函数 返回生成器对象,简称生成器 def gen(): for i in range(10): #yield 返回便能够保留状态 yield i mygen = gen() for i in mygen: print(i) 执行 [root@node10 python] ...
分类:
编程语言 时间:
2020-02-29 15:04:17
阅读次数:
83
错误信息如下: ErrorTraceback (most recent call last): File "D:\python37\lib\unittest\case.py", line 59, in testPartExecutor yield File "D:\python37\lib\unit ...
分类:
其他好文 时间:
2020-02-29 12:57:56
阅读次数:
154
今天看到一个很有意思的题:分析:题中有快速和统计1.使用生成器2.字典来统计以下代码仅为抛砖引玉:importstringimportrandomclassITer_:def__init__(self):self.chars=string.ascii_letters+string.digitsdef__iter__(self):for_inrange(200):codes=[]for_inrang
分类:
其他好文 时间:
2020-02-28 13:43:58
阅读次数:
128
用户线程和内核线程 现代操作系统中,实现线程库有两种方法:在用户空间中和在内核空间中。 用户线程 整个线程包的实现都在用户空间的话,就意味着操作系统内核对它一无所知,只知道他是一个普通的需要调度的进程。协程就是一种用户线程的实现,可以满足在一个内核线程上并发执行多个任务,coroutine和goro ...
分类:
编程语言 时间:
2020-02-26 21:07:52
阅读次数:
367
生成器 是我们自己用python代码够贱的数据结构.迭代器都是提供的,或者转化得来的. 获取生成器的方式 + 生成器函数 + 生成器表达式 + python内部提供的一些 生成器函数 一个 next 对应 next return yield 对比 return: 函数中只存在一个return 结束函 ...
分类:
其他好文 时间:
2020-02-26 21:05:42
阅读次数:
56
前两天给 Ice 加了 call/cc, 为此还重构了一波, 实现 call/cc 还是因为看了轮子哥的大专系列( 里边说提供 continuation 语言实现 Coroutine 起来很轻松, 后来又查了一些资料, 都说 continuation 表达能力很强, 就实现了一手, 调用方式完全等同 ...
分类:
其他好文 时间:
2020-02-24 19:03:27
阅读次数:
74