logo
当前位置:首 页 >
  • Python 生成器原理详解

    , , 已有4049人围观 0条评论 供稿者:
    Python 生成器原理详解
    这篇文章是对 500 Lines or Less 一书中高效爬虫一章的部分翻译,原文:How Python Generators Work。建议结合《流畅的 Python》食用。 在掌握 Python 生成器之前,你必须了解常规 Python 函数的工作原理。通常,当一个 Python 函数调用子程序(subroutine)时,这个子程序将一直持有控制权,只有当子程序结束(返回或者抛出异常)后,控制权才还给调用者: >>> de...
  • 在 Python 中使用线性回归预测数据
    本文中,我们将进行大量的编程——但在这之前,我们先介绍一下我们今天要解决的实例问题。 1) 预测房子价格 我们想预测特定房子的价值,预测依据是房屋面积。 2) 预测下周哪个电视节目会有更多的观众 闪电侠和绿箭侠是我最喜欢的电视节目。我想看看下周哪个节目会有更多的观众。 3) 替换数据集中的缺失值 我们经常要和带有缺失值的数据集打交道。这部分没有实战例子,不过我...
  • Tornado 源码阅读:初步认识
    ioloop `ioloop`是`tornado`的核心模块,也是个调度模块,各种异步事件都是由他调度的,所以必须弄清他的执行逻辑   源码分析 而`ioloop`的核心部分则是 `while True`这个循环内部的逻辑,贴上他的代码下    def start(self):         if self._running:             raise RuntimeError(“IOLoop is already running”)         self._setup_logging()  ...
  • 2017-12-06
    , , 已有3520围观 0条评论 供稿者:
    Python 的内存分配策略 arena arena: 多个pool聚合的结果 arena size pool的大小默认值位4KB arena的大小默认值256KB, 能放置 256/4=64 个pool obmalloc.c中代码 #define ARENA_SIZE              (256 << 10)     /* 256KB */ arena 结构 一...
  • 2017-12-06
    , , 已有3676围观 0条评论 供稿者:
    Python的内存管理架构 基本分层 在Objects/obmalloc.c源码中, 给了一个分层划分 可以看到 layer 3: Object–specific memory(int/dict/list/string….)          Python 实现并维护          更高抽象层次的内存管理策略, 主要是各类特定...
  • 2017-12-06
    , , 已有3594围观 0条评论 供稿者:
    源码位置 Include/dictobject.h | Objects/dictobject.c PyDictObject的存储策略 1. 使用散列表进行存储   2. 使用开放定址法处理冲突       2.1 插入, 发生冲突, 通过二次探测算法, 寻找下一个位置, 直到找到可用位置, 放入(形成一条冲突...
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3