摘要:
对比一个简单的多线程程序和对应的 asyncio 版,说明多线程和异步任务之间的关系asyncio.Future 类与 concurrent.futures.Future 类之间的区别摒弃线程或进程,如何使用异步编程管理网络应用中的高并发在异步编程中,与回调相比,协程显著提升性能的方式如何把阻塞的操 阅读全文
摘要:
从 Python 3.4 起,标准库中有两个名为 Future 的类:concurrent.futures.Future 和asyncio.Future。这两个类的作用相同:两个 Future 类的实例都表示可能已经完成或者尚未完成的延迟计算 我们要记住一件事:通常情况下自己不应该创建期物,而只能由 阅读全文
摘要:
从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数。可是,在协程中,yield 通常出现在表达式的右边(例如,datum = yield),可以产出值,也可以不产出——如果 yield 关键字后面没有表达式,那么生成器产出 None。协程可能会从调用方接收数据,不过调用方把数据 阅读全文
摘要:
with 语句和上下文管理器for、while 和 try 语句的 else 子句 with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文。这么做能避免错误并减少样板代码,因此 API 更安全,而且更易于使用。除了自动关闭文件之外,with 块还有很多用途 else 子句 阅读全文
摘要:
在python中,所有集合都可以迭代,在python语言内部,迭代器用于支持 for循环 构建和扩展集合类型 逐行遍历文本文件 列表推导,字典推导和集合推导 元组拆包 调用函数时,使用*拆包实参 本章涵盖的话题 语言内部使用 iter(...) 内置函数处理可迭代对象的方式如何使用 Python 实 阅读全文
摘要:
运算符重载基础 不能重载内置类型的运算符 不能新建运算符,只能重载现有的 某些运算符不能重载 is,and,or和not(不过位运算符&,|和~可以) 一元运算符 阅读全文
摘要:
子类化内置类型的缺点 多重集成和方法解析顺序 tkinter 阅读全文
摘要:
强类型和弱类型 如果一门语言很少隐式转换类型,说明他是强类型语言。如果经常这么做,说明他是弱类型语言。java, c++和python是强类型语言。PHP,JavaScript和Perl是弱类型语言 静态类型和动态类型 在编译时检查类型的语言是静态类型语言,在运行时检查类型的语言是动态语言。静态类型 阅读全文
摘要:
鸭子协议(忽略对象真正类型,转而关注对象有没有实现所需的方法,签名和语义) 标准库中的抽象基类 collections.abc模块中的抽象基类 抽象方法是抽象基类中用来强制子类必须实现的方法,如果子类不实现该方法,则会报错 上述例子中的load,pick属于抽象方法,Tombola的子类必须实现这两 阅读全文
摘要:
class Kls(object): def __init__(self, data): self.data = data def printd(self): print(self.data) @staticmethod def smethod(*arg): print('Static:', arg 阅读全文