zoukankan      html  css  js  c++  java
  • 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 = b'alex'
                        编码方式: 000101010  utf-8 gbk。。。。
    
            对于中文:
                 str  :表现形式:s = '中国'
                        编码方式: 010101010  unicode
                bytes :表现形式:s = b'xe91e91e01e21e31e32'
                        编码方式: 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)
  • 相关阅读:
    【足迹C++primer】32、定制操作_2
    pom文件miss artifact com.sun:tools:jar:1.5.0:system问题
    cents上运行wget报错:unable to resolve host address
    怎样定义函数模板
    06006_redis数据存储类型——String
    雷林鹏分享:C# 类型转换
    雷林鹏分享:C# 运算符
    雷林鹏分享:C# 循环
    雷林鹏分享:C# 判断
    雷林鹏分享:C# 方法
  • 原文地址:https://www.cnblogs.com/wujunjie-sir/p/9172490.html
Copyright © 2011-2022 走看看