小整數(shù)優(yōu)化
python會(huì)對(duì)[-5, 256]之間的整數(shù)數(shù)字進(jìn)行優(yōu)化,在內(nèi)存空間內(nèi)只會(huì)存在一個(gè)對(duì)象估盘,如下:
a = 2
b = 2
a is b # True
a = 2564
b = 2564
a is b # False
字符串駐留
python會(huì)對(duì)滿(mǎn)足以下規(guī)則的字符串進(jìn)行優(yōu)化喷市,不會(huì)在內(nèi)存中生成第二個(gè)對(duì)象:
- 長(zhǎng)度為0或者為1的字符串
- 字符串中只包含字母、數(shù)字或下劃線(xiàn)
- 必須是編譯時(shí)的常量字符串(使用
join
等函數(shù)拼接的字符串不會(huì)駐留)