10 2017 档案
摘要:这里主要参考 Rookie 的文章,里面用法很pythonic,所以来自己再分析一遍然后记笔记,详见原文 地址 我们这里只看 bottle 框架中的 request。所以我们看 BaseRquest(object) 类 和 BaseRequest 用到的描述器 DictProperty(object
阅读全文
摘要:1 使用__call__(self,[..)方法将类变成装饰器 这里我就用一个例子和执行图来解释了 result: f.foo() 相当于 temp = Describer(‘zhn’); inner = temp__call__(foo); func_result = inner(foo_self
阅读全文
摘要:1 通过下面的代码了解闭包的特性 也相当于调用 out: 2 闭包的特点: 2.1 inner 能访问 outer 及其祖先函数的命名空间内的变量(局部变量、函数参数) 2.2 调用 outer 已经返回了,但是他的命名空间被返回的 inner 对象引用,所以不会被回收
阅读全文
摘要:1 异步IO模型 loop是一个事件集合,然后循环“取出一个事件—处理一个事件”。 一个线程在执行一个事件中可能会有堵塞,当堵塞时,会将此时“状态”保存在loop中,然后进入下个循环,以此类推。 2 事件循环+回调 在事件循环的过程中,如果一个task执行完毕,就可以通过了callback将resu
阅读全文
摘要:说先flask应用在请求时会调用 wsgi_app(self, environ, start_response) 这个方法 这个函数的基本步骤是: request_context 可以看出,requests_context 方法会调用 _RequestContext(self, environ) 类
阅读全文
摘要:1 动态web框架 1.1 web框架要和web服务器软件分开(如MVC) 1.2 web框架要和web服务器有良好的交互通信(python为自身的web框架制定了WSGI标准) 1.3 web框架要和数据库有良好的读写通信方法 2 关于WSGI标准 WSGI将Web服务分成两个部分:服务器和应用程
阅读全文
摘要:本文主要是对 requests 的 for human 结构的部分进行简单分析,对于里面具体的功能实现(比如cookies如何存储,http相关对接)没有深入研究。 1 对于requests主要模块说明: 1.1 __init__.py: 写入了requests的各种方法,可以直接调用 1.2 ap
阅读全文