第六天 is 和 的區別, 編碼的問題

2022-04-11 14:50:20 字數 1376 閱讀 3627

id值相同是應為在程式執行中產生了資料池,會對字串和整數進行快取, 為了節省記憶體。但其他型別(列表,陣列,字典)不存在

對於數字:

-5 —— 256是會被加到小資料池中的. 每次使用都是同乙個物件.

對於字串:

1. 如果是純文字資訊和下劃線. 那麼這個物件會被新增到小資料池

2. 如果是帶有特殊字元的. 那麼不會被新增到小資料池. 每次都是新的

3. 如果是單一字母*n的情況. 'a'*20, 在20個單位內是可以的. 超過20個單位就不會新增到小資料池中

注意:

(一般情況下): 在py⽂檔案中. 如果你只是單純的定義乙個字串. 那麼一般情況下都是會被新增到小資料池中的.

我們可以這樣認為: 在使用字串的時候, python會幫我們把字串進行快取, 在下次使用的時候直接指向這個字串即可.

可以節省很多記憶體.

is 和id的關係:

is比較的就是id()計算出來的結果. 由於id是幫我們檢視某資料(物件) 的記憶體位址. 那麼is

比較

的就是資料(物件)的記憶體位址.最終我們通過is可以檢視兩個變量使⽤的是否是同乙個物件.

==      :判斷左右兩端是否相等和一致,比較的是內容

is       : 判決的是記憶體位址是否相等  用id()的值來判斷

想要儲存,必須先編碼 

python2中預設使用的是ascii碼,所以不支援中文,如果需要在python2中更改編碼。

python2 轉換為python3的編碼,在python2前面加  -*- encoding:utf-8 -*-  

2.python3中:記憶體中使用的unicode

encode()   編碼:獲取到的是編碼之後的結果。編碼之後的內容是bytes類資料型別

英文:編碼之後的結果是英文本身

中文:編碼之後utf – 8下,乙個中文3個位元組

decode()   解碼:把bytes資料型別程式設計我們熟悉的字串

Javascript的第六天

複習 1.節點 網頁是有很多的節點組成的 元素節點 指的是 標籤li span 文字節點 屬性節點 父子兄弟 父parentnode nextsibling 孩子 childnodes nodetype 1 來判斷是否是 元素節點 最喜歡用的 children 只得到元素節點 1.獲取節點屬性 ge...

學習C語言的第六天

do while 表示式 與while不等價,do while是先執行迴圈體在進行判斷,與while的運作流程不同。ps while可能在迴圈剛開始的時候因為不滿足表示式所以一次都不執行,但do while即使表示式一開始就不滿足,但仍會在剛開始執行一次。scanf在輸入字串到字元陣列時,不用加 其...

學習python的第六天筆記

34 041 new cls,名 可以改變括號中不可改變的型別,例如 class capstr str def new cls,string string string.upper return str.new cls,string a capstr i love you i love you de...