PYTHON 原始碼閱讀 - STRING

wklken發表於2015-11-27
本週進展不大(去掉北上, 選擇餘地太小了), 下週開始投簡歷:(

這一章, 就一張圖, 程式碼比較多


PyStringObject

原始碼位置 Include/stringobject.h |
Objects/stringobject.c

定義

說明

結構

PyStringObject

構造方法

兩個構造方法其實區別不大,

我們關注PyString_FromString就行

建立過程 PyString_FromString

定義

步驟簡化

結論

interned機制

interned

interned定義

使用的地方

示例

python原始碼自己也大量使用

好處

字元緩衝池

定義

在上面PyString_FromString可以看到, 字元緩衝池在使用中初始化(存在直接返回, 不存在建一個, 放interned字典中, 初始化字元緩衝池對應位置)

字串銷燬過程

效能相關

+join

可以檢視string_concat方法和string_join方法的原始碼


changelog

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

任選一種支付方式

PYTHON 原始碼閱讀 - STRING PYTHON 原始碼閱讀 - STRING

相關文章