一、id 比較的數值,輸出結果為True 或者 False is比較的是記憶體地址 id 查看記憶體地址 記憶體地址相當與門牌號a = 1000 b = 1000 print(a == b) # == 比較的是數值 #is 比較的是記憶體地址。 # print(a is b) #查看記憶體地址id() # p ...
一、id
比較的數值,輸出結果為True 或者 False
is比較的是記憶體地址
id 查看記憶體地址
記憶體地址相當與門牌號a = 1000
b = 1000
print(a == b)
# == 比較的是數值
#is 比較的是記憶體地址。
# print(a is b)
#查看記憶體地址id()
# print(id(a))
# print(id(b))
二、小數據池
#數字: -5 ~ 256 節省空間。
#字元串: 1,如果含有特殊字元,不存在小數據池。
# 2,str(單個) * int int > 20 不存在小數據池。
#其他都不存在小數據池。
三、編碼
存儲和傳輸是0101,但是不可以使用Unicode編碼進行傳輸
python3中的編碼:python3中str在記憶體中的編碼方式是Unicode。python3中的str不能直接存儲和發送。
bytes的編碼方式是非Unicode(UTF-8,GBK,GB2312....)
對於英文:str表現形式: s = 'kuoiea'
內部編碼為:Unicode
byte表現形式s = b'kuoiea'
內部編碼形式為非unicode
對於中文:str表現形式: s = '中國'
內部編碼為:Unicode
byte表現形式s = b'\xe4\xb8\xad\xe5\x9b\xbd'
內部編碼形式為非unicode
encode編碼:將str類型轉換成byte類型
decode解碼:將byte類型轉換成str類型
# s = 'fdsagsadfsad方式打開家樂福;按時fdsafdsa' #ip地址 埠等等 # s1 = input('你好') # s1 # s = 'laonanhai' # s1 = b'laonanhai' # print(type(s)) # print(type(s1)) # s = 'alex' # str # s1 = s.encode('utf-8') # bytes # encode 編碼 :str --- > bytes # s = 'hello girl' # s1 = s.encode('utf-8') # print(s1) # s = 'hello girl' # s1 = s.encode('gbk') # print(s1) # s = '中國' # s1 = s.encode('utf-8') # print(s1) # s = '中國' # s1 = s.encode('gbk') # print(s1)