协程.md

时间:2023-12-10 10:44:56

一、

# 可迭代
l = [ i for i in range(10) ]
# l是可迭代的,但不是迭代器
for idx in l:
    print(idx)
   
# range是个迭代器
for i in range(5):
    print(i)

二、

# isinstance案例
# 判断某个变量是否是一个实例
from collections import Iterable
ll = [1,2,3,4,5]
print(isinstance(ll, Iterable))
from collections import Iterator
print(isinstance(s, Iterable))
print(isinstance(s, Iterator))
三、
# iter函数
s = 'i love wangxiaojing'
print(isinstance(s, Iterable))
print(isinstance(s, Iterator))
s_iter = iter(s)
print()
四、
# 携程
- 历史历程
    - 3.4引入协程,用yield实现
    - 3.5引入协程语法
    - 实现的协程比较好的包有asyncio, tornado, gevent
- 定义:协程是为非抢占式多任务产生子程序的计算机程序组件,
五、