1. ==和is进行比较
python对象包含三个要素:id(身份标识)、type(数据类型)、value(值)
== 为判断value值 而is判断id()
2.协程—gevent延时切换的理解
相当于 洗衣机洗衣服的同时自己去做饭
import gevent import time from gevent import monkey """ 遇到延时就切换 """ monkey.patch_all() # 打补丁 将程序中用到的耗时操作的代码,换为gevent中自己实现的代码 def f1(n): for i in range(n): print("----1----") print(gevent.getcurrent(), i) # print("----3----") time.sleep(5) # gevent.sleep(5) def f2(n): for i in range(n): print("----2----") print(gevent.getcurrent(), i) # print("----3----") time.sleep(10) # gevent.sleep(5 def f3(n): for i in range(n): print("----3----") print(gevent.getcurrent(), i) # print("----3----") time.sleep(15) # gevent.sleep(5 # print("----1----") # g1 = gevent.spawn(f, 5) # 不执行 # g2 = gevent.spawn(f, 5) # g3 = gevent.spawn(f, 5) # print("----4----") # g1.join() # 开始执行 # g2.join() # g3.join() # print("----5----") gevent.joinall([ gevent.spawn(f1, 5), gevent.spawn(f2, 5), gevent.spawn(f3, 5) ]) /home/wangchao/Downloads/anaconda3/bin/python3.7 /home/wangchao/windows/Demo/python/High/04-协程/hm_06_gevent.py ----1---- <Greenlet at 0x7f1e7eff0d08: f1(5)> 0 ----2---- <Greenlet at 0x7f1e7eff0e18: f2(5)> 0 ----3---- <Greenlet at 0x7f1e7e9fd048: f3(5)> 0 ----1---- <Greenlet at 0x7f1e7eff0d08: f1(5)> 1 ----2---- <Greenlet at 0x7f1e7eff0e18: f2(5)> 1 ----1---- <Greenlet at 0x7f1e7eff0d08: f1(5)> 2 ----3---- <Greenlet at 0x7f1e7e9fd048: f3(5)> 1 ----1---- <Greenlet at 0x7f1e7eff0d08: f1(5)> 3 ----2---- <Greenlet at 0x7f1e7eff0e18: f2(5)> 2 ----1---- <Greenlet at 0x7f1e7eff0d08: f1(5)> 4 ----3---- <Greenlet at 0x7f1e7e9fd048: f3(5)> 2 ----2---- <Greenlet at 0x7f1e7eff0e18: f2(5)> 3 ----2---- <Greenlet at 0x7f1e7eff0e18: f2(5)> 4 ----3---- <Greenlet at 0x7f1e7e9fd048: f3(5)> 3 ----3---- <Greenlet at 0x7f1e7e9fd048: f3(5)> 4 Process finished with exit code 0
