1. 程式人生 > >python第六天

python第六天

網絡傳輸 使用 可變 超過 信息 16bit () nco decode

1. is 和 == 區別
id()函數

小數據池(常量量池): 把我們使?用過的值存儲在?小數據池中.供其他的變量量使用.

小數據池給數字和字符串使用, 其他數據類型不存在.

對於數字: -5~256是會被加到?小數據池中的. 每次使用都是同一個對象.

對於字符串:

1. 如果是純文字信息和下劃線. 那麽這個對象會被添加到?數據池

2. 如果是帶有特殊字符的. 那麽不會被添加到小數據池. 每次都是新的

3. 如果是單一字母*n的情況. ‘a‘*20, 在20個單位內是可以的. 超過20個單位就不會添加 到?小數據池中

s = ‘alex‘ print(id(s)) # 4326667072

s = "alex" print(id(s)) # 4326667072

s1 = "@1 2 "

s2 = "@1 2 "

print(id(s1))

print(id(s2))

# 結果一致, 但是在終端中是不一致的. 所以在python中,命令?行行代碼和py文件中的代碼運行的效果可能是不一樣的

總結:
  == 判斷兩邊的值

  is 判斷內存地址


回顧編碼:
1. ASCII: 英文, 特殊字符, 數字, 8bit, 1byte
2. GBK: 中文 16bit, 2byte. 兼容ASCII
3. unicode: 萬國碼, 32bit 4byte. 兼容ASCII
4. UTF-8: 長度可變的unicode. 英文:8bit, 歐洲:16bit, 中文:24bit 3byte

python2 只能用ASCII
python3 有unicode, 默認的編碼就是unicode
內存裏用的是unicode. 硬盤和網絡傳輸用的是utf-8或者GBK

2. encode() 編碼. 獲取到的是編碼之後的結果. bytes
3. decode() 解碼. 把bytes編程我們熟悉的字符串

python第六天