原文:《深度剖析CPython解释器》29. 源码解密 map、filter、zip 底层实现,对比列表解析式

楔子 Python 现在如此流行,拥有众多开源 高质量的第三方库是一个重要原因,不过 Python 的简单 灵巧 容易上手也是功不可没的,而其背后的内置函数 类 则起到了很大的作用。举个栗子: 我们看到一行代码就搞定了,那么问题来了,这些内置函数 类 在底层是怎么实现的呢 下面我们就来通过源码来分析一下,这里我们介绍 map filter zip。 首先这些类 map filter zip都是类 ...

2020-11-25 19:40 0 364 推荐指数:

查看详情

深度剖析CPython解释器》8. 解密Python中列表底层实现,通过源码分析列表支持的相关操作

楔子 Python中的列表可以说使用的非常广泛了,在初学列表的时候,老师会告诉你列表就是一个大仓库,什么都可以存放。不过在最开始的几个章节中,我们花了很大的笔墨介绍了Python中的对象,并明白了Python中变量的本质,我们知道列表中存放的元素其实都是泛型指针PyObject *,所以到现在 ...

Sun Aug 09 12:03:00 CST 2020 8 843
深度剖析CPython解释器》5. 解密Python中的整数在底层是如何实现的,以及为什么Python中大整数的运算不会溢出

楔子 这次我们来分析一下Python中的整数是如何实现的,我们知道Python中的整数是不会溢出的,换句话说,它可以计算无穷大的数。只要你的内存足够,它就能计算,但是对于C来说显然是不行的,可Python底层又是C实现的,那么它是怎么做到整数不会溢出的呢? 既然想知道答案,那么看一下 ...

Wed Aug 05 08:29:00 CST 2020 6 1062
深度剖析CPython解释器》7. 解密Python中字符串的底层实现,以及相关操作

楔子 这一次我们分析一下Python中的字符串,首先Python中的字符串是一个变长对象,因为不同长度的字符串所占的内存空间是不一样的;但同时字符串又是一个不可变对象,因为一旦创建就不可以再修改了。 而Python中的字符串是通过unicode来表示的,因此在底层对应的结构体 ...

Sat Aug 08 07:44:00 CST 2020 13 769
深度剖析CPython解释器》4. 解密Python中最简单的对象--浮点数的底层实现

楔子 从现在开始,我们就来分析Python中常见的内置对象、以及对应的实例对象,看看它们在底层是如何实现的。但说实话,我们在前面几节中介绍对象的时候,已经说了不少了,不过从现在开始要进行更深入的分析。 除了对象本身,还要看对象支持的操作在底层是如何实现的。我们首先以浮点数为例,因为它是最简单 ...

Sun Aug 02 03:57:00 CST 2020 10 791
深度剖析CPython解释器》30. 源码解密内置函数 iter、next

楔子 这次我们来看看 iter 和 next 这两个内置函数的用法,我们知道 iter 是将一个可迭代对象变成一个迭代,next 是将迭代里的值一步一步迭代出来。 注意:iter 还有一个鲜为人知的用法,我们来看一下: 当然 next 函数也有一个特殊用法,就是它在接收一个迭代 ...

Thu Nov 26 08:39:00 CST 2020 2 490
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM