编码

阅读目录                      

ascii、gbk、unicode、utf-8

编码转换

逻辑运算

小数据池

 

ascii、gbk、unicode、utf-8          

ascii

ascii:涵盖了英文字母大小写,特殊字符,数字,ascii 只能表示256种可能

#ord() 字符 --> ascii
print(ord(',')) #44

#chr() ascii --> 字符
print(chr(89)) #Y

#bin() int --> 二进制
print(bin(2)) #0b10

#oct() int --> 八进制
print(oct(2)) #0o2

#hex() int --> 十六进制
print(hex(2)) #0x2

 

unicode

万国码 unicode

Unicode 升级 utf-8 utf-16 utf-32(8位 = 1字节bytes)

 

utf-8、gbk

utf-8 一个字符最少用8位去表示,
英文用8位--> 一个字节
欧洲文字用16位去表示 --> 两个字节
中文用24 位去表示 --> 三个字节(汉语九万多字,2**24 = 16万)
utf-16 一个字符最少用16位去表示
gbk 中国人自己发明的,一个中文用两个字节 16位去表示。
1bit 8bit = 1bytes
1byte 1024byte = 1KB
1KB 1024kb = 1MB
1MB 1024MB = 1GB
1GB 1024GB = 1TB


编码转换                  
#str --> bytes
#encode
a = '我们'
print(a.encode('utf-8'),a)
#b'\xe6\x88\x91\xe4\xbb\xac' 我们

#byte --> str
#decode
print(a.encode('utf-8').decode('utf-8'))
#我们

 



逻辑运算                  
#逻辑运算

#优先级,()> not > and > or
>>> print(1 < 2 and 3 < 4 or 1>2)
True
>>> print(3>4 or 4<3 and 1==1)
False


# int —— bool   非零转换成bool True  
#               0 转换成bool 是False
>>> print(bool(2))
True
>>> print(bool(0))
False
>>> print(bool(-2))
True

# x or y  如果 x 为 True,则返回x
>>> print(1 or 2)
1
>>> print(0 or 2)
2
>>> print(2 or 100 or 3 or 4)
2

# x and y  如果 x 为 True,则返回y(与or相反)
>>> print(1 and 2)
2
>>> print(0 and 2)
0
>>> print(3 > 1 or 2 and 2)
True
View Code

 

小数据池                  
小数据池:Python中一种提高效率的方式,固定数据类型使用同一个内存地址 小数池 -- 支持: str,int,bool
作用:a = 1 b = 1 id 查看空间的内存地址 获取开辟空间的一种地址 print(id(a)) print(id(b))
小数据池的范围:
数字: 小数据池数字支持范围:-5 ~ 256
字符串: 1、不能有特殊符号 2、s*20 还是同一个地址,s*21以后都是两个地址


 

posted @ 2019-08-30 17:56  supreme_me  阅读(119)  评论(0)    收藏  举报