• day6字符编码


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

    删除:pop()按照key删除,有返回值,默认返回None
    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。。。。

    '''
    3、元素分类
        有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
    即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
    
    
    '''
    # li= [11,22,33,44,55,66,77,88,99,90]
    # dic ={}
    # l_greater=[] #大于66的所有值列表
    # l_less=[]    #小于66的所有值列表
    # for i in li:
    #     if i == 66:continue
    #     if i > 66 :
    #         l_greater.append(i)
    #     else :
    #         l_less.append(i)
    # dic.setdefault('k1',l_greater)
    # dic.setdefault('k2',l_less)
    # print(dic)
    
    '''
    4、输出商品列表,用户输入序号,显示用户选中的商品
        商品 li = ["手机", "电脑", '鼠标垫', '游艇']
    要求:1:页面显示 序号 + 商品名称,如:
              1 手机
               2 电脑
                  …
         2: 用户输入选择的商品序号,然后打印商品名称
      3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
    4:用户输入Q或者q,退出程序。
    
    '''
    # flag = True
    # while flag:
    #     li = ["手机", "电脑", "鼠标垫", "游艇"]
    #     for i in li:
    #         print('{}		{}'.format(li.index(i)+1,i))
    #     num_of_chioce = input('请输入选择的商品序号/输入Q或者q退出程序:')
    #     if num_of_chioce.isdigit():
    #         num_of_chioce = int(num_of_chioce)
    #         if num_of_chioce > 0 and num_of_chioce <= len(li):
    #             print(li[num_of_chioce-1])
    #         else:print('请输入有效数字')
    #     elif num_of_chioce.upper() == 'Q':break
    #     else:print('请输入数字')
    View Code
    '''
    python2 python3
    
    '''
    #python2
    #print()  print 'abc'
    #range()   xrange() 生成器
    # raw_input()
    
    #python3
    #print('abc')
    #range()
    # input()
    
    # = 赋值 == 比较值是否相等   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)
    View Code
  • 相关阅读:
    Linux/ visual studio 编译使用Poco
    无法安装 golang.org/x/tools/的库
    大牛blog汇总
    Redis整合Spring结合使用缓存实例
    js增加收藏
    iOS学习笔记12-网络(一)NSURLConnection
    Kick the ball!(dfs)湖南省赛第十届
    windows程序设计——飞机大战笔记(Access数据库的使用)
    DataGridView.DataSource= list(Of T)
    面试之SQL(1)--选出选课数量&gt;=2的学号
  • 原文地址:https://www.cnblogs.com/xingqisan/p/10712456.html
Copyright © 2020-2023  润新知