- == 和 is 的区别
- == 比较 比较的是两个值
- 适用于
- 列表
a = '[1:2]'
b = '[1:2]'
print(a == b) #True
- 字典
a = '{1,2,3}'
b = '{1,2,3}'
print(a == b) # Ture
- 元组
a = '(1,2)'
b = '(1,2)'
print(a == b) #True
- 字符串
a = 'abc'
b = 'abc'
print(a == b) #True
- int
a = '123'
b = '123'
print(a == b) #True
- is 比较 比较的是内存的地址
- 适用于
- int
a = '123456'
print(id(a))#123456789(id地址)
- str
a = 'a,s,d,f'
print(id(a))#123456789( id地址 )
- 字典
a = '{1:2}'
print(id(a))#123456789(id 地址)
- tuple 元组
a = '(1,2)'
print(id(a))#123456789(id 地址)
- 列表
a = '[1,2,3]'
print(id(a))#123456789(id 地址)
- 数字小数据池的范围是 -5——256
- 字符串中如果有特殊字符那么他们的地址就不会一致
- 字符串中单个*20以内,他们的地址一致,单个*21以上的内存地址不一致
- 编码和解码
- 各种码
- ascii 码
- 不支持中文
- 支持 英文 数字 符号
- 8位 一个字节
- gbk
- 支持 中文 英文 数字 符号
- 英文 16位 两个字节
- 中文 16位 两个字节
- unicode 万国码
- 支持 中文 英文 数字 符号
- 英文 32位 4个字节
- 中文 32位 4个字节
- utf—8
- encode(编码方式)-------拿到明文编码后对应的字节
- decode(编码方式)-------将编码后的字节解码成对应的明文
- s = '饿了吗'
print(s.encode('gbk')) #把饿了吗 编码成 gbk 的字节 输出的是 b'\xb6\xf6\xc1\xcb\xc2\xf0'
- s = '饿了吗'
print(s.encode('utf-8')) #把 饿了吗 编码成utf-8 的字节 输出的是b'\xe9\xa5\xbf\xe4\xba\x86\xe5\x90\x97'
- 编码和解码 用什么进行编的码就要用什么解码
- 例子
s = '饿了吗'
print(s.encode('utf-8')) #得到的是 utf-8 编的码
s1 = s.encoode('utf-8') #将 utf-8 编的码赋值给s1
print(s1.decode('utf-8')) #输出 饿了吗 将 utf-8 编的码对应 utf-8 进行解码
- is 是 比较 比较的是内存地址
a = 'alex'
b = 'alex'
print(a is b) 输出是Fales
- 编码
- python3中 程序运行阶段,使用的都是uniclode的
- 传输和存储都是使用bytes