day7 python学习

时间:2023-03-08 21:52:20

今日内容#

枚举

此代码可以用于对有一定值的列表进行按带序列号的方式打印出来

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' 这个