一、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'xe4xb8xadxe5x9bxbd'
内部编码形式为非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)