标签 Python 下的文章

Python中的线程锁


前言

尽管Python中的线程有些鸡肋,但在IO操作中,提速显然。然而线程存在一个缺点,你可能不得不费点心力去关注线程同步的问题。这时我们需要用到线程锁。


Python中的迭代协议


前言

Python的特色之一是基于协议实现功能。比如改变一个加号(+)的行为,在C++中需要操作符重载,在Python中则是重写__add__方法。为了描述可迭代对象和迭代器,Python提供了两个魔法方法,分别是__iter____next__。又为了支持for...in...行为,牵扯进了__getitem__

我们先从可迭代对象说起。


Python中的abc模块


前言

《抽象基类(ABC)》中,基于C++讲述抽象基类。尽管Python设计上以鸭子类型为主,但仍有抽象基类(ABC)的一席之地,它被封装在了abc模块中供程序员使用。

abc模块有以下两个主要功能:

  • 某种情况下,判定某个对象的类型,如:isinstance(a, Sized)
  • 强制子类必须实现某些方法,即ABC类的派生类


yield的一些探索


开头

这篇内容看起来混乱,但其实是在为一个知识点服务:如何实现协程?

在有了明确的目标之后,就可以发现“混乱”都环绕在一个点上:如何手动切换函数的同时,捎上数据。

因能力有限,错漏处望各友不吝赐教。