Python自学笔记(6day)

(1)数字,字符串,小数据池

  数字范围:-5~256之间时,将共用一个内存地址

  字符串:不含有特殊字符的字符串共用一个地址,单个字符串*20及其20以下数字,共用一个地址

list=[1,2,3]
list1=list
print(id(list), id(list))
#id()用来输出内存地址,
#输出:相同的内存地址
s="wabnga"
s1=s
print(id(s), id(s1))
#输出:相同的地址



s="@a"
s1=s
print(id(s), id(s1))
#输出 :不一样的内存地址

(2)编码

  编码分为:

  ASCII:一个字节表示一个字母

  unicode: 4个字节表示一个字母

      4个字节表示一个中文

  utf-8:   一个字节表示一个字母

      3个字节表示一个中文

  gbk:    一个字节表示一个字母

      2个字节表示一个中文

(3)各个编码之间的二进制不能互相识别,会产生乱码

(4)文件的存储,传输,是以utf-8 ,gbk等编码形势,不能以unicode编码   (重要)

(5)python3中  str 是以Unicode的编码形式存在的,因此如果想要进行数据的传输或者存储,需要将str转换成utf-8,gbk等编码形势。

(6)bytes:

    utf-8,gbk等编码形式的统称

(7)   str:Unicode编码                bytes: utf-8,gbk等编码形势,可以进行文件的传输与存储

    str转换成bytes: encode(),叫做编码。()中填入编码类型

s="wangran"
n=s.encode("utf-8")
print(n)

(8)元祖

  

tupe=(2)
tupe1=(2,)
print(tupe,tupe1)
#输出:2 (2,)

总结:如果元祖里面没有逗号,则输出该什么类型就是什么类型,如果有逗号,则输出元祖。

课后习题

list=[22,33,55,77,99]
for i in list:
    if i%2==1:     #如果列表不是数字,则可以变成:if list.index(i)%2==1
        list.remove(i)
    else:
        continue
print(list)

 

    

posted @ 2018-09-10 22:22  诺诺诺亚索隆  阅读(121)  评论(0编辑  收藏  举报