a visual walk-through

程式在執行時記憶體裡到底發生了什麼?物件導向是什麼?
NumPy variables, demystified.

用「倉庫 + 紙條」的比喻,看四行 Python 程式碼如何在記憶體中製造物件、貼上指向物件的標籤。

程式來源:114 年第二次 AI 應用規劃師-中級-第三科:機器學習技術與應用,第 40 題。

程式碼
.py
1import numpy as np2v1 = np.array([1, 2, 3])3v2 = np.array([4, 5, 6])4A  = np.array([[1, 2], [3, 4]])
STEP 00
準備開始

歡迎!這個動畫會把 Python 程式碼在記憶體裡發生的事情,一步一步用「倉庫」和「紙條」的比喻畫出來。

點上方 下一步 → 開始觀看。

電腦記憶體(一座大倉庫)
VARIABLES — 牆上的紙條 HEAP — 倉庫裡的實例 Class numpy 📦 (設計藍圖) MODULE — <module 'numpy'> @ 0x7F2A·C3D4·0000 .array(...) .zeros(...) .ones(...) .linspace(...) .dot(...) ⋯ 還有上百個工具 NDARRAY 實例 @ 0x7F2A·C3D5·0100 1 2 3 shape: (3,) dtype: int64 size : 3 NDARRAY 實例 @ 0x7F2A·C3D5·0240 4 5 6 shape: (3,) dtype: int64 size : 3 NDARRAY 實例(2D) @ 0x7F2A·C3D5·0380 1 2 3 4 [0] [1] shape: (2, 2) dtype: int64 ndim : 2 size : 4 np → 0x7F2A·C3D4·0000 v1 → 0x7F2A·C3D5·0100 v2 → 0x7F2A·C3D5·0240 A → 0x7F2A·C3D5·0380 [1, 2, 3] [4, 5, 6] [[1,2], [3,4]] .array() .array() .array()