原文:《深度剖析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