python学习day6

Posted wujunjie-sir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习day6相关的知识,希望对你有一定的参考价值。

昨日回顾

dict: dic = {name:alex}
增:dic[age] = 21 存在就覆盖
dic.setdefault() 没有就增加

删除:pop()按照key删除,有返回值
    clear
    del dic[name]
    popitem()随机删除 返回的是元祖

改  update

查
dic.keys()
dic.values()
dic.items()

for k,v in dic.items():
    print(k,v)

dic.get(key,None)

编码问题

ascii
            A : 00000010  8位 一个字节

unicode     A : 00000000 00000001 00000010 00000100 32位  四个字节
            中:00000000 00000001 00000010 00000110 32位  四个字节


utf-8      A :  00100000 8位 一个字节
          中 :  00000001 00000010 00000110 24位 三个字节


gbk        A : 00000110  8位 一个字节
         中  : 00000010 00000110 16位 两个字节
1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)

py3:
    str 在内存中是用unicode编码。
        bytes类型
        对于英文:
             str  :表现形式:s = alex
                    编码方式: 010101010  unicode
            bytes :表现形式:s = balex
                    编码方式: 000101010  utf-8 gbk。。。。

        对于中文:
             str  :表现形式:s = 中国
                    编码方式: 010101010  unicode
            bytes :表现形式:s = bxe91e91e01e21e31e32
                    编码方式: 000101010  utf-8 gbk

小知识点总结

 = 赋值 == 比较值是否相等   is 比较,比较的是内存地址  id(内容)
# li1 = [1,2,3]
# li2 = li1
# li3 = li2
# print(id(li1),id(li2))

#数字,字符串 小数据池
#数字的范围 -5 -- 256
#字符串:1,不能有特殊字符
#        2,s*20 还是同一个地址,s*21以后都是两个地址
# i1 = 6
# i2 = 6
# print(id(i1),id(i2))
# i1 = 300
# i2 = 300
# print(id(i1),id(i2))


#剩下的 list dict tuple set
# l1 = [1,]
# l2 = [1,]
# print(l1 is l2)

# s = ‘alex‘
# s1 = b‘alex‘
# print(s,type(s))
# print(s1,type(s1))

# s = ‘中国‘
# print(s,type(s))
# s1 = b‘中国‘
# print(s1,type(s1))

s1 = alex
# encode 编码,如何将str --> bytes, ()
s11 = s1.encode(utf-8)
s11 = s1.encode(gbk)
print(s11)
s2 = 中国
s22 = s2.encode(utf-8)
s22 = s2.encode(gbk)
print(s22)

 

以上是关于python学习day6的主要内容,如果未能解决你的问题,请参考以下文章

python学习之路day6

坚持Selenium+Python学习之从读懂代码开始 DAY6

Python-模块使用-Day6

Python之路,Day6 - 面向对象学习

python Day6 面向对象学习

Python学习记录day6