python學習筆記06 is 和 == 編碼和解碼

 == 比較兩邊的值 is 比較的是內存地址

id( )  ----   獲取內存地址

python 小數據池中的數據內存地址是一樣的

數字: 範圍 :-5 ~ 256 (python終端可驗證,pycharm 中n = - 6 和 n1 = -6 is 運行結果爲TRUE,因爲它會自行修正)

n = -6
n1 = -6
print(n is n1) # False

字符串: 字符串中如果有特殊字符( + - * / 空格 @ 等),他們的內存地址就不一樣

a = 'alex@'
a1 = 'alex@'
print(a is a1) #False

字符串中單個*20以內他們的內存地址一樣,單個*21 以上 內存地址不一致

注意: pycharm是個坑,一個py文件中所有相同的字符串,一般都是使用一樣的內存地址

a = 'a'*20
b = 'a'*20
print( a is b) #True

a = 'a'*21
b = 'a'*21
print( a is b) #False

a = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
b = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
print(a is b) #Ture

python3 程序運行階段 使用的是unicode,顯示所有的內容, (unicode不能進行傳輸和存儲,只能在內存中)

bytes 類型 傳輸和存儲都是使用bytes 類型

pycharm 存儲的時候默認使用utf-8編碼

漢字編碼位數

utf-8  3位   gbk 2位

encode( 編碼方式 )  ---- 拿到明文編碼後對應的字節

decode( 編碼方式 )  ---- 將編碼後的字節解碼成對應的明文

用什麼方式編碼,就要用什麼方式解碼

作業講解:

循環迭代時不可改變字典大小,

解決方案: 循環迭代時記錄到list裏 ,然後迭代list,刪除對應字典元素

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章