剛開始學習python,所以把所學記錄一下 Python的緩存機制,分為在同一代碼塊和不同代碼塊下的區別 代碼塊:一個模塊,一個函數,一個類,一個文件等都是一個代碼塊。 例如: if True: print("我是if中的代碼塊") print("我還是if中的代碼塊") print("我不是if中 ...
剛開始學習python,所以把所學記錄一下
Python的緩存機制,分為在同一代碼塊和不同代碼塊下的區別
代碼塊:一個模塊,一個函數,一個類,一個文件等都是一個代碼塊。
例如:
if True: print("我是if中的代碼塊") print("我還是if中的代碼塊") print("我不是if中的代碼塊了,我和if是平級的")
然而在交互方式輸入的每個命令都是一個代碼塊.
在同一代碼塊下:
適用對象:str int bool
在執行同一個代碼塊的初始化對象的命令時,會檢查是否其值是否已經存在,如果存在,會將其重用。
不同代碼塊下:
適用對象: ~5-256的整數和一定規則的字元串
不同代碼塊的緩存機制,也稱為小整數緩存機制,或者稱為駐留機制等等
內容:Python自動將-5~256的整數進行了緩存,當你將這些整數賦值給變數時,並不會重新創建對象,而是使用已經創建好的緩存對象。
對於這些緩存機制,Python都是為了 提升效率,節約記憶體