摘要: 参考 参考 python由于GIL(全局锁)的存在,不能发挥多核的优势,在io密集型的网络里,异步处理能大幅提升效率 coroutine(协程) 协程处理逻辑 通常用生产者-消费者设计模式来处理协程 创建协程 → 添加到队列 → 创建协程 → 添加到队列 → 消费者绑定对象 → 消费者消费队列中的协 阅读全文
posted @ 2021-08-26 15:41 花兒向陽開 阅读(39) 评论(0) 推荐(0) 编辑
摘要: abc基于python type和metaclass,同样会有metaclass多重继承等问题 ①抽象方法可以有实现; ②子类在__new__过程中如果子类没有声明抽象方法会报错,子类如果重写了__new__方法并且没有调用object.new,那么abc的检测抽象方法实现可能会失效; ③子类可以通 阅读全文
posted @ 2021-08-26 14:38 花兒向陽開 阅读(77) 评论(0) 推荐(0) 编辑
摘要: abc → AbstractBaseClass → 抽象基类 object和type和class和metaclass object python所有的类都继承至object,object是所有对象的抽象 class关键字定义的类型,默认都是继承于object的 type 继承至object type 阅读全文
posted @ 2021-08-26 14:24 花兒向陽開 阅读(37) 评论(0) 推荐(0) 编辑
摘要: class A: def f(self): print('A.f') class B(A): pass class C: def f(self): print('C.f') class D(B, C): pass D().f() # => A.f 阅读全文
posted @ 2021-08-26 12:03 花兒向陽開 阅读(27) 评论(0) 推荐(0) 编辑
摘要: python是动态语言,不用为参数和变量声明类型,但是可以用泛型来描述参数变量的类型来提高代码的可读性(泛型或泛型变量或实际类型都可以用来描述这个参数或变量的类型) # 不使用类型提示 def func(a,b): return a+b func('1','1') # '11' func(1,1) 阅读全文
posted @ 2021-08-26 00:31 花兒向陽開 阅读(240) 评论(0) 推荐(0) 编辑