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'
      
  • 相关阅读:
    [转发]深入理解git,从研究git目录开始
    iOS系统网络抓包方法
    charles抓包工具
    iOS多线程中performSelector: 和dispatch_time的不同
    IOS Core Animation Advanced Techniques的学习笔记(五)
    IOS Core Animation Advanced Techniques的学习笔记(四)
    IOS Core Animation Advanced Techniques的学习笔记(三)
    IOS Core Animation Advanced Techniques的学习笔记(二)
    IOS Core Animation Advanced Techniques的学习笔记(一)
    VirtualBox复制CentOS后提示Device eth0 does not seem to be present的解决方法
  • 原文地址:https://www.cnblogs.com/zhaoxinblog/p/13199422.html
Copyright © 2011-2022 走看看