day7 python学习

今日内容#

枚举  

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

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'xe4xbdxa0xe5xa5xbd'
当字符串
s="sss"#这种纯字母的类型的时候
s.encode()
print(s)#打印出的结果为 b'sss' 这个

 

原文地址:https://www.cnblogs.com/wangkun122/p/7739750.html