1. 程式人生 > >python字符串,賦值和is的區別

python字符串,賦值和is的區別

如何 不同 span 中文 gbk 不能 print python code

1. == 與 is 的區別

賦值 == 比較值是否相等,is 比較,比較的是內存地址。

小數據池的作用是節省內存空間

數字的範圍:-5 到 256 共用一個數據池

字符串範圍:1.不能有特殊字符。2. s*20還是同一個地址,超過以後就是不用地址 3.不同字符超過20仍然is

剩下的 列表,元祖等沒有小地址池

2. python3中的編碼

ascii
    一個字符1個字節,占8位
    A:00000010

unicode
    一個字符4個字節,占32位
    A:00000000 00000001 00000010 00000010
    中:

utf-8
    一個英文字符,8位
    一個中文字符,占24位

gbk
    A:一個字符,8位
    中:一個中文字符,16位

    
1.各個編碼2 進制不能識別,會產生亂碼 2.文件的存儲和傳輸不能是unicode

3.python中的bytes類型

‘‘‘
對於英文:
    str:    
            表現形式: s = ‘alex‘
            編碼方式: 01010101  unicode
    bytes:
            表現形式: s = b‘alex‘
            編碼方式: 01010101  utf-8 gbk
    
對於中文:
    str:    
            表現形式: s = ‘中國‘
            編碼方式: 01010101  unicode
    bytes:
            表現形式: s = b‘x\e91\e91\e01\e21\e31\e32‘ 3字節表示一個中文,utf-8;若2個字節1個漢字,gbk
            編碼方式: 01010101  utf-8 gbk
    
‘‘‘ s1 = alex # 將 unicode 轉換成utf-8 或gdk,表現形式是將str 轉換成bytes, # encode 編碼,如何將str --> bytes, s11 = s1.encode(utf-8) print(s11)

python字符串,賦值和is的區別