小數據池的概念

小數據池

1.小數據池的定義

什麼是小數據池? 小數據池就是Python中一種提升效率的方式,固定數據類型使用同一個內存地址 小數池 -- 支持: str,int,boolpython

小數據池是幹嗎的? a = 1 b = 1 id 查看空間的內存地址 獲取開闢空間的一種地址 print(id(a)) print(id(b)) 函數

2.小數據池的範圍

2.1數字

小數據池數字支持範圍: -5 ~ 256 *記住ui

a = 300 ​ b = 300 ​ print(id(a)) ​ print(id(b))spa

代碼塊: 一個文件,一個模塊,一個函數,一個類,終端中每一行都一個代碼塊 ​ 在python中是用字典的方式存儲內存

a = 1000 ​ b = 1000 ​ print(id(a)) ​ print(id(b))字符串

is # 判斷兩個內存地址是否相同 # 必須記住 ​ == # 判斷等號兩邊的值是否相同 # 必須記住pycharm

2.2字符串

字符串: ​ 1.字符串在作乘法的時候總長度不能超過20,進行駐留 # 記住 ​ 2.本身定義的字符串 長度不限制 字符串必須(字母,數字.下劃線)組成,進行駐留 ​ 3.特殊字符(中文除外)定義1個時候,進行駐留 ​ 4.字符串*1 其實就是賦值io

若是is判斷相同 == 必定相同 ​ 若是==判斷相同 is 不必定相同class

a = 1000 ​ b = 1000 ​ print(a == b)效率

a = "alexdsb" * 2 ​ b = "alexdsb" * 2 ​ print(a is b)

a = "12345678912345678qwertyuioqwertyuioQWERTYUIOWERTYUIOQWERTYUIOasdfghjksdfghjkasdgadsfasdfgasdgasdgfsdaf" ​ b = "12345678912345678qwertyuioqwertyuioQWERTYUIOWERTYUIOQWERTYUIOasdfghjksdfghjkasdgadsfasdfgasdgasdgfsdaf" ​ print(a is b)

a = "你" ​ b = "你" ​ print(a is b) # pycharm中是True 由於執行了代碼塊,終端中是False

a = "@" ​ b = "@" ​ print(a is b)

a = "你好" ​ b = a * 1 ​ print(a is b)

先執行代碼塊,不符合代碼塊纔會執行小數據池

3.代碼塊

3.1代碼塊的規則

3.1.1數字

數字:所有駐留

3.1.2字符串

1.字符作乘法的時候總長度不能超過20 ​ 2.自定定義的都駐留 ​ 3.乘數爲1的時候 就是賦值 ​ 4.python3.7 乘法的時候總長度不能超過4096

總結: 小數池 -- 支持: str,int,bool 小數據池數字: -5 ~ 256 小數據池字符串: 乘法時長度不能超過20

怎麼能本身駐留? 須要使用python的內置模塊

from sys import intern a = intern("@@@@@@"20) b = intern("@@@@@@"20) print(a is b) # 本身進行駐留

相關文章
相關標籤/搜索