zoukankan      html  css  js  c++  java
  • 数据类型的补充 day07

    1. 数据类型补充

      • str
      #str 补充方法练习一遍就行
      # s = 'HolTing'
      # #capitalize 首字母大写,其余小写
      # print(s.capitalize())
      # #swapcase  大小写翻转
      # print(s.swapcase())
      # #title 每个单词的首字母大写
      # msg= 'taibai say3hi'
      # print(msg.title())
      #center 居中
      s1 = 'holting'
      # print(s1.center(20))
      # print(s1.center(20,'*'))
      #find 通过元素找索引,找到第一个就返回,找不到返回-1
      #index 通过元素找索引,找到第一个就返回,找不到 报错
      # print(s1.find('a'))
      # print(s1.find('h'))
      # print(s1.index('O'))
      
      • 元祖 tuple

        #元祖中只有一个元素并且没有逗号,那它不是元祖。它与该数据类型一致
        # tu1 = (2,3,4)
        # tu1 = (2)
        # tu1 = ('太白')
        # tu1 = ([1,2,3])
        # tu1 = (1,)
        # print(tu1,type(tu1))
        # tu = (1,2,3,3,3,2,2,3,
        #count 计数
        # tuple1 = (1,2,3,4,)
        # print(tuple1.count(1))
        # # index
        # print(tuple1.index(2))
        
      • 列表 list

        #l1 = ['太白', '123', '女神', '大壮']
        #count pass
        #index
        #print(l1.index('大壮'))
        #sort
        #l1 = [5,4,3,7,8,6,1,0]
        # l1.sort()#默认从大到小
        # print(l1)
        # l1.sort(reverse=True)
        # print(l1)
        # l1.reverse()#反转
        # print(l1)
        #列表可以相加
        # l1 = [1,2,3]
        # l2 =[1,2,3,4,'holting']
        # print(l1 + l2)
        #
        # #列表与数字相乘
        # l1 = [1, 'daf', 3]
        # l2 = l1*3
        # print(l2)
        #l1 = [11, 22, 33, 44, 55]
        # 索引为奇数对应的元素删除(不能一个一个删除,此l1只是举个例子,里面的元素不定)。
        # del l1[1::2]
        # print(l1)
        #倒序法删除元素
        # for i in range(len(l1)-1,-1,-1):
        #     if i %2 ==1:
        #         l1.pop(i)
        # print(l1)
        
        # 思维置换
        # l1 = [11, 22, 33, 44, 55]
        # new_l1 = []
        # for index in range(len(l1)):
        #     if index % 2 ==0:
        #         new_l1.append(l1[index])
        # # print(new_l1)
        # l1 = new_l1
        # print(l1)
        # 循环一个列表的时,最好不要改变列表的大小,这样会影响你的最终的结果。
        
        
      • 字典

        #字典的补充
        #update
        #dic = {'name': '太白', 'age': 18}
        # dic.update(hobby='运动',hight='175')
        # dic.update(name='holting')
        # dic.update([(1,'a'),(2,'b'),(3,'c'),(4,'d')])
        # print(dic)
        # dic1 = {"name":"jin","age":18,"sex":"male"}
        # dic2 = {"name":"alex","weight":75}
        # dic1.update(dic2)#更新,有则覆盖,无则添加
        # print(dic1)
        # print(dic2)
        
        #fromkeys 坑:值共有一个
        #dic = dict.fromkeys('abc', 100)
        #dic = dict.fromkeys([1, 2, 3], 'alex')
        #print(dic)
        #ic = dict.fromkeys([1,2,3],[])
        # dic[1].append(666)
        # print(dic)
        dic = {'k1': '太白', 'k2': 'barry', 'k3': '白白', 'age': 18}
        # 将字典中键含有'k'元素的键值对删除。
        # for i in list(dic.keys()):# ['k1', 'k2', 'k3','age']
        #     if "k" in i:
        #         dic.pop(i)
        # print(dic)
        
        # for key in dic:
        #     if 'k' in key:
        #         dic.pop(key)
        # print(dic)
        #循环一个字典时,如果改变这个字典的大小,就会报错。
        # l1 = []
        # for key in dic:
        #     if 'k' in key:
        #         l1.append(key)
        # print(l1)
        # for i in l1:
        #     dic.pop(i)
        # print(dic)
        
        
        1. 数据类型的转换
        # ,0 ,'' ,( ),[ ],set(),None  转换成bool 值为False
        

        数据类型的分类(了解)

    2. 编码的进阶

      • ASCII码:包含英文字母,数字,特殊字符与01010101对应关系。

        a 01000001 一个字符一个字节表示。

      • GBK:只包含本国文字(以及英文字母,数字,特殊字符)与0101010对应关系。

        a 01000001 ascii码中的字符:一个字符一个字节表示。

        中 01001001 01000010 中文:一个字符两个字节表示。

      • Unicode包含全世界所有的文字与二进制0101001的对应关系。

        a 01000001 01000010 01000011 00000001

        b 01000001 01000010 01100011 00000001

        中 01001001 01000010 01100011 00000001

      • UTF-8:包含全世界所有的文字与二进制0101001的对应关系(最少用8位一个字节表示一个字符)。

        a 01000001 ascii码中的字符:一个字符一个字节表示。

        To 01000001 01000010 (欧洲文字:葡萄牙,西班牙等)一个字符两个字节表示。

        中 01001001 01000010 01100011 亚洲文字;一个字符三个字节表示。

      1. 不同的密码本之间能否互相识别?不能。

      2. 数据在内存中全部是以Unicode 编码的,但是当你的数据用于网络传输或存储到硬盘中,必须以非Unicode(utf-8,gbk等等)

        英文:

        str :'hello'

        内存中的编码方式:Unicode

        表现形式:'hello'

        bytes:

        内存中的编码方式:非Unicode

        表现形式:b'hello'

      ​ 中文:

      str:

      表现形式:'中国'

      bytes:

      内存中的编码方式: 非Unicode#utf-8

      表现形式:b'xe4xb8xadxe5x9bxbd'

      #str -->bytes
      # s ='中国'
      # b = s.encode('utf-8')#编码
      # print(b,type(b))#b'xe4xb8xadxe5x9bxbd' <class 'bytes'>
      # b = s.encode('gbk')#编码
      # bytes --> str
      # b =b'xe4xb8xadxe5x9bxbd'
      # s = b.decode('utf-8')#解码
      # print(s)
      
      #gbk -->utf-8
      # b1 = b'xd6xd0xb9xfa'
      # s = b1.decode('gbk')
      # print(s)
      # b2 = s.encode('utf-8')
      # print(b2)#b'xe4xb8xadxe5x9bxbd'
      
  • 相关阅读:
    《吊打面试官》系列-缓存雪崩、击穿、穿透
    WebGL学习之纹理贴图
    小试小程序云开发
    关于socket.io的使用
    动画函数的绘制及自定义动画函数
    canvas实现俄罗斯方块
    Redis集群
    手工搭建基于ABP的框架
    手工搭建基于ABP的框架(3)
    手工搭建基于ABP的框架(2)
  • 原文地址:https://www.cnblogs.com/zhaoxinblog/p/13199422.html
Copyright © 2011-2022 走看看