Python 小记 Python中的线程锁 前言为什么需要线程锁LockRLock感谢前言尽管Python中的线程有些鸡肋,但在IO操作中,提速显然。然而线程存在一个缺点,你可能不得不费点心力去关注线程同步的问题。这时我们需要用到线程锁。 阅读全文 2019-02-14 Guan 0 条评论 1495 次浏览 0 次喜欢
Python 小记 Python中的迭代协议 前言IterableIteratorfor...in...getitem感谢前言Python的特色之一是基于协议实现功能。比如改变一个加号(+)的行为,在C++中需要操作符重载,在Python中则是重写__add__方法。为了描述可迭代对象和迭代器,Python提供了两个魔法方法,分别是__iter__和__next__。又为了支持for...in...行为,牵扯进了__getitem__。我们先从可迭代对象说起。 阅读全文 2019-02-08 Guan 0 条评论 2666 次浏览 0 次喜欢
Python 小记 Python中的bisect模块 前言insortbisect二分查找感谢前言bisect模块在Python的官方库中属于小众,源码也不多,加上注释也没能超过100行。当你希望维护的列表总是有序时,bisect模块可能是不错的选择。 阅读全文 2019-02-06 Guan 0 条评论 1363 次浏览 0 次喜欢
Python 小记 Python中的abc模块 前言判断类型isinstance实现原理实现ABC类其他基类总结前言在《抽象基类(ABC)》中,基于C++讲述抽象基类。尽管Python设计上以鸭子类型为主,但仍有抽象基类(ABC)的一席之地,它被封装在了abc模块中供程序员使用。abc模块有以下两个主要功能:某种情况下,判定某个对象的类型,如:isinstance(a, Sized)强制子类必须实现某些方法,即ABC类的派生类 阅读全文 2019-02-05 Guan 0 条评论 2898 次浏览 0 次喜欢
Python 小记 yield的一些探索 开头概念yield 与 return生成器对象send方法closethrowyield from感谢开头这篇内容看起来混乱,但其实是在为一个知识点服务:如何实现协程?在有了明确的目标之后,就可以发现“混乱”都环绕在一个点上:如何手动切换函数的同时,捎上数据。因能力有限,错漏处望各友不吝赐教。 阅读全文 2018-12-21 Guan 0 条评论 1359 次浏览 0 次喜欢