今日内容#
枚举
此代码可以用于对有一定值的列表进行按带序列号的方式打印出来
lis=['手机','电脑','潜艇','手表']
for index,i in enumerate(lis,1):
print(index,i)
li = ['alex','银角','女神','egon','太白']
for i in enumerate(li):
print(i)
for index,name in enumerate(li,1):
print(index,name)
for index, name in enumerate(li, 100): # 起始位置默认是0,可更改
print(index, name)
内存地址:
1.小范围的数值的内存地址是一定的 这些数字的范围是 -5~256
2.字符串:对于小数据池,有空格的数据内存地址不是定值,没有空格的内存地址是定值
s="da"
s1="da"
print(s,id(s)) 这样可以打印字符串的内存地址。
还有一种判断方法就是
print(s is s1)
看打印的结果,如果打印的是True就是一个内存地址,否则就不是
3。
在Pyrhon 3中 所有字符串
str格式的内容都是用的
unicode 无论是中文还是英文都是占四个字节:
unicode: A: 00000000 00000000 00000100 01000100 四个字节
好: 00000000 00010010 00000100 01000100 四个字节
但是utf-8的编码方式中:
A : 00000001 一个字节
欧洲 @:00000101 00000001 两个字节
亚洲 中:00000101 00000001 00000001 三个字节
“中国” 两个字在这个编码中可能就是这样表达:
00000101 00000001 0000000 00001101 00000001 0001000 两个汉字六个字节
GBK:
A: 0000010 一个字节
中:0010010 00100010 两个字节
不同编码之间不能识别,否则会乱码.
str字符串和byte型的转换
s="你好" #zai pyton3中 当字符串是中文是,将他抓换成
# byte()型字符串的时候
print(id(s)) #可以看到转换前的ID是这个 #1059585904200
s=s.encode()#用此方法来转换成utf-8 或者GBK格式 默认为utf-8
print(s) #这是汉字打印出来的内存地址# b'\xe4\xbd\xa0\xe5\xa5\xbd'
当字符串
s="sss"#这种纯字母的类型的时候
s.encode()
print(s)#打印出的结果为 b'sss' 这个