Python 之禪第三條
Simple is better than complex.
在 Python 中, string 中的每個字元佔的空間大小是 8 bit。
>>> import sys >>> sys.getsizeof('') 37 >>> sys.getsizeof('a') 38
可以看到, 空字元佔用37個byte, 長度為1的字串'a' 佔記憶體38個byte. 多了一個字元a之後多了1 個byte。
相關推薦:《python影片教學》
每個char 就是存在ob_sval 裡面的, 佔大小8bit. 餘下的36個byte 主要來自於宏PyObject_VAR_HEAD. 實際上python 的string實作也用到了一個叫*interned 的全域變數, 裡面可以存長度為0 或1 的字串, 也就是char, 可以節省空間並且加快速度。
其實在 python 裡既沒有指標也沒有"裸露的資料結構" (非物件), 連最簡單的整數 integer 都是這樣實現的。
總而言之, 這樣的設計滿足 python 的 "一切都是物件", "一切都盡可能simple" 的設計思想。
以上是python支援char嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!