楔子 不少編程語言中的"字符串"都是使用字符數組(或者稱字符序列)來表示,比如C語言和go語言就是這樣。 一個字節最多能表示256個字符,所以對於英文來說足夠了,因此一個英文字符占一個字節即可 ...
楔子 我們在上一篇中說到了,面向對象理論中 類 和 對象 這兩個概念在Python內部都是通過 對象 實現的。 類 是一種對象,稱為 類型對象 , 類 實例化得到的也是 對象 ,稱為 實例對象 。 並且根據對象的不同特點還可以進一步分類: 可變對象:對象創建之后可以本地修改 不可變對象:對象創建之后不可以本地修改 定長對象:對象所占用的內存大小固定 不定長對象:對象所占用的內存大小不固定 但是 對 ...
2020-07-29 18:12 1 1539 推薦指數:
楔子 不少編程語言中的"字符串"都是使用字符數組(或者稱字符序列)來表示,比如C語言和go語言就是這樣。 一個字節最多能表示256個字符,所以對於英文來說足夠了,因此一個英文字符占一個字節即可 ...
楔子 當我們想要執行一個py文件的時候,只需要python xxx.py即可,但是你有沒有想過這背后的流程是怎么樣的呢?從這里開始我們就開始進入到Python虛擬機的環節了,之前都是在介紹Python中的一些內置對象,不過虛擬機的執行流程、以及背后的原理卻更是值得我們關注的。 這里我們先來 ...
Python中一切皆對象 關於Python,你肯定聽過這么一句話:"Python中一切皆對象"。沒錯,在Python的世界里,一切都是對象。整型是一個對象、字符串是一個對象、字典是一個對象,甚至int、str、list等等,再加上我們使用class自定義的類,它們也是對象。 像int ...
楔子 Python的字典是一種映射型容器對象,保存了鍵(key)到值(value)的映射關系。通過字典,我們可以快速的實現值的查找,json這種數據結構也是借鑒了Python中的字典。而且字典在Python中是經過高度優化的,因為Python底層也在大量的使用字典這種數據結構。 那么這次 ...
楔子 從現在開始,我們就來分析Python中常見的內置對象、以及對應的實例對象,看看它們在底層是如何實現的。但說實話,我們在前面幾節中介紹對象的時候,已經說了不少了,不過從現在開始要進行更深入的分析。 除了對象本身,還要看對象支持的操作在底層是如何實現的。我們首先以浮點數為例,因為它是最簡單 ...
Python中的整型在底層是怎么定義的就行了。 int實例對象的底層實現 Python中的整數底層對應的結構 ...
楔子 在上一篇中我們說到了Python中的對象在底層的數據結構,我們知道Python底層通過PyObject和PyTypeObject完成了C++所提供的對象的多態特性。在Python中創建一個對象,會分配內存並進行初始化,然后Python會用一個PyObject *來保存和維護這個對象 ...
楔子 這一次我們分析一下Python中的字符串,首先Python中的字符串是一個變長對象,因為不同長度的字符串所占的內存空間是不一樣的;但同時字符串又是一個不可變對象,因為一旦創建就不可以再修改了。 而Python中的字符串是通過unicode來表示的,因此在底層對應的結構體 ...