女王控的博客

python

7 篇文章

Python深入学习

字节码与虚拟机 当每次调用函数或刚开始运行时候,建立新 frame,然后在这个 frame 的环境下一条条的运行 bytecode,每一条 bytecode 都有相应的 c 语言代码执行,在每一个 frame python 会维护一个 stack,然后 bytecode 和 stack 进行交互,当然也会和 code object 保存信息进行交互,执行逻辑运算结果 Code Object 编译一次就不会再改变 Frame 和 Code Object… »

深入理解 Python 虚拟机

提供的源代码链接如无特殊说明均来自于 CPython repo 中的 Python3.7 分支。 背景 这本书旨在深入 Python 解释器之中,提供 python 程序运行机制的概念上的概述。本书描述的对象是 CPython 的解释器实现,它是目前最主流或者说官方的 Python 实现。 根据对解释器调用方式的不同,一个 Python 程序的执行可以分为两个或三个阶段,这些内容将会被涵盖在本书的不同章节中: 初始化(Initialization):这个阶段涉及到对于 python… »

Python 后端 oom 处理过程

背景 python 的 django 后端在刚启动时内存占用上升很快,导致对应的 pod 内存溢出,很多接口响应慢 方案 需要找到哪行代码导致的内存泄漏,有以下方案 pympler scalene (python3.8 以上,不符合) memray (python3.7 以上,不符合) 使用 python 内置的 tracemalloc 库 由于项目用的是 python 3.6 的版本,所以采用方案 1 和… »

编写高质量Python

培养 Pythonic 思维 第 1 条:查询自己使用的 Python 版本 Python 2 于 2020 年 1 月 1 日退场,到这一刻,所有的 bug 修复、安全补丁,以及特性向后移植都会停止。此后,如果你还坚持使用 Python 2,那么会面临很多不利因素,因为它不会再获得正式的维护了。深度依赖 Python 2 代码库的开发者可以考虑用 2to3(Python 预装的工具)与 six 这样的工具过渡到 Python 3。 第 2 条:遵循 PEP… »

Python源码剖析

源码结构 重点介绍标红行的内容 对象模型 概述 Python 是一门面向对象语言,实现了一个完整的面向对象体系,简洁而优雅。 一切皆对象 首先,在 Python 世界,基本类型也是对象,与通常意义的“对象”形成一个有机统一。换句话讲,Python 不再区别对待基本类型和对象,所有基本类型内部均由对象实现。一个整数是一个对象,一个字符串也是一个对象: 其次,Python 中的类型也是一种对象,称为类型对象。整数类型是一个对象,字符串类型是一个对象,程序中通过 class… »

0%