51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python笔记

Python 打印函数字节码

Python 打印函数字节码

厉飞雨 阅读(402) 评论(0) 赞(20)

> 查看字节码可以帮助我们更好的理解python的执行流程,本文记录 python 生成函数字节码的方法。 ### 简介 {#简介} * 既然叫"字节码",这些操作码自然是以字节为单位的咯,于是最多只能表示256个不同的操作码。Python实际上只用了百来个操作码。 * 操作码小于90的为无参数的,指令仅包含操作码自身,共1字节;大于等于90的,则...

Python bisect 管理已排序的序列

Python bisect 管理已排序的序列

厉飞雨 阅读(266) 评论(0) 赞(18)

> `bisect` 模块包含两个主要函数,`bisect` 和 `insort`,两个函数都利用 二分查找算法来在有序序列中查找或插入元素。 ### bisect {#bisect} bisect是 python 的内置模块,主要用来管理已经排序的数据。 #### **bisect**搜索 {#bisect搜索} * 在 haystack(干草垛)里搜索 nee...

Python 多重继承

Python 多重继承

厉飞雨 阅读(272) 评论(0) 赞(14)

> 继承是面向对象编程的一个重要方式,可以扩展父类的功能,而Python作为热门的编程语言,同样具备该功能;除此之外,Python还有多重继承,本文记录 Python 多重继承相关内容。 ![](http://static.51tbox.com/static/2024-11-22/col/72d7dfbd9311f88962f5e1f0d0f691d2/50f11857...

Python 各显其能的列表

Python 各显其能的列表

厉飞雨 阅读(326) 评论(0) 赞(18)

> 虽然列表既灵活又简单,但面对各类需求时,我们可能会有更好的选择。本文记录 Python 中不同场景应该选择的列表结构。 ### 列表不是首选时 {#列表不是首选时} * 比如要存放 1000 万个浮点数的话,数组(array)的效率要高 得多,因为数组在背后存的并不是 float 对象,而是数字的机器翻 译,也就是字节表述。这一点就跟 C 语言中的数组一样。 * ...

Python 弱引用 weakref

Python 弱引用 weakref

厉飞雨 阅读(388) 评论(0) 赞(11)

<blockquote> <p>Python 引用的使用量特别多,但引用使用不慎很可能影响垃圾对象回收,这时就需要弱引用解决类似问题。</p> </blockquote> <h3>背景 {#背景}</h3> <ul> <li> <p><strong>垃圾回收&...

Python 元组

Python 元组

厉飞雨 阅读(262) 评论(0) 赞(11)

> 有些 Python 入门教程把元组称为"不可变列表",然而这并没有完全概括 元组的特点。除了用作不可变的列表,它还可以用于没有字段名的记 录。 ### 元组 {#元组} #### 元组和记录 {#元组和记录} 元组其实是对数据的记录:元组中的每个元素都存放了记录中一个字段 的数据,外加这个字段的位置。正是这个位置信息给数据赋予了意义。 ##...

Python 切片

Python 切片

厉飞雨 阅读(244) 评论(0) 赞(13)

> 在 Python 里,像列表(list)、元组(tuple)和字符串(str)这类 序列类型都支持切片操作,但是实际上切片操作比人们所想象的要强大很多。 ### 切片 {#切片} #### 最后一个元素 {#最后一个元素} 在切片和区间操作里不包含区间范围的最后一个元素是 Python 的风格, 这个习惯符合 Python、C 和其他语言里以 0 作为起始下标的...

Python 排序容器

Python 排序容器

厉飞雨 阅读(292) 评论(0) 赞(14)

> Python 的标准库没有排序容器,这些内容在 `sortedcontainers` 包中有了实现。 ### sortedcontainers {#sortedcontainers} Python 标准库没有实现排序容器,在 `sortedcontainers` 库中有了相关实现。 * pip 包文档: <https://pypi.org/project/...

Python 队列

Python 队列

厉飞雨 阅读(229) 评论(0) 赞(13)

> 本文记录 Python 原生队列模块。 ### Python 队列 {#Python-队列} * queue 模块实现了多生产者、多消费者的队列。当必须在多个线程之间安全地交换信息时,它在线程编程中特别有用。该模块中的 Queue 类实现了所有必需的锁定语义。 * 该模块实现了三种类型的队列,它们仅在检索条目的顺序上有所不同。 * \*\*Queue \*\*...

Python 堆

Python 堆

厉飞雨 阅读(299) 评论(0) 赞(15)

<blockquote> <p>本文记录 Python 内置实现的小顶堆模块。</p> </blockquote> <h3>堆 {#堆}</h3> <ul> <li>堆是一种特殊的树,它每个结点都有一个值,堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。就类似一堆东...