原文:《深度剖析CPython解釋器》32. Python 和 Go 聯合編程

楔子 Python 可以和 C 無縫結合,通過 C 來為 Python 編寫擴展可以極大地提升 Python 的效率,但是使用 C 來編程顯然不是很方便,於是本人想到了 Go。對比 C 和 Go 會發現兩者非常相似,沒錯,Go 語言具有強烈的 C 語言背景,其設計者以及語言的設計目標都和 C 有着千絲萬縷的聯系。因為 Go 語言的誕生就是因為 Google 中的一些開發者覺得 C 太復雜了,所以才 ...

2021-05-18 17:39 1 2107 推薦指數:

查看詳情

深度剖析CPython解釋器》31. Python 和 C / C++ 聯合編程

楔子 Python 和 C / C++ 混合編程已經屢見不鮮了,那為什么要將這兩種語言結合起來呢?或者說,這兩種語言混合起來能給為我們帶來什么好處呢?首先,Python 和 C / C++ 聯合,無非兩種情況。 1. C / C++ 為主導的項目中引入 Python; 2. ...

Fri Feb 12 09:56:00 CST 2021 6 826
深度剖析CPython解釋器》6. 解密Python中bytes對象的底層實現,以及相關操作

楔子 不少編程語言中的"字符串"都是使用字符數組(或者稱字符序列)來表示,比如C語言和go語言就是這樣。 一個字節最多能表示256個字符,所以對於英文來說足夠了,因此一個英文字符占一個字節即可,然而對於那些非英文字符便力不從心了。因此為了表示這些非英文編碼,於是多字節編碼應運而生 ...

Thu Aug 06 06:40:00 CST 2020 7 892
深度剖析CPython解釋器》10. Python中的PyCodeObject對象與pyc文件

楔子 當我們想要執行一個py文件的時候,只需要python xxx.py即可,但是你有沒有想過這背后的流程是怎么樣的呢?從這里開始我們就開始進入到Python虛擬機的環節了,之前都是在介紹Python中的一些內置對象,不過虛擬機的執行流程、以及背后的原理卻更是值得我們關注的。 這里我們先來 ...

Sat Aug 15 10:31:00 CST 2020 0 642
深度剖析CPython解釋器》13. 剖析Python的流程控制語句(if、for、while),以及異常捕獲機制

楔子 在上一章中,我們介紹了Python虛擬機中常見的字節碼指令。但我們的流程都是從上往下順序執行的,在執行的過程中沒有任何變化,但是顯然這是不夠的,因為怎么能沒有流程控制呢。下面我們來看看Python所提供的流程控制手段,其中也包括異常檢測機制。 Python虛擬機中的if控制流 ...

Fri Aug 21 09:26:00 CST 2020 0 456
深度剖析CPython解釋器》5. 解密Python中的整數在底層是如何實現的,以及為什么Python中大整數的運算不會溢出

楔子 這次我們來分析一下Python中的整數是如何實現的,我們知道Python中的整數是不會溢出的,換句話說,它可以計算無窮大的數。只要你的內存足夠,它就能計算,但是對於C來說顯然是不行的,可Python底層又是C實現的,那么它是怎么做到整數不會溢出的呢? 既然想知道答案,那么看一下 ...

Wed Aug 05 08:29:00 CST 2020 6 1062
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM