基础数据类型的补充,转换分来以及编码的进阶

基础数据类型的补充

  • str补充方法练习一遍

    • capitalize 首字母便大写,其他字母变小写
    • swapcase 大小写互换
    • title 首字母大写
    • center 居中
    • find 通过元素找索引.找到第一个就返回,找不到就返回-1
    • index 通过元素找索引.找到第一个就返回,找不到就报错
  • 元组

    • 元组中如果只有一个元素,并且没有逗号.那么他不是元组.它与该元素的数据类型一致
    • count 计算某元素在列表出现的次数
    • index 通过元素找索引
  • 列表

    • sort 列表默认从小到大排序(reverse = True 从大小到小)
    • reverse() 反转 [1,2,3] 反转之后 [3,2,1]
    • 列表可以与列表相加,列表可以与数字相乘
  • 字典

    • 循环字典时不能改变字典的长度

数据类型的转换

数据类型的分类

编码的进阶

  • 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 亚洲文字;一个字符三个字节表示。

--------------------------------------------------------

  • 不同的密码本之间不能互相识别.

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

  • bytes 一个数据类型.与str基本一样..

      	英文:
    

    str: 'hello '

    ​ 内存中的编码方式: Unicode

    ​ 表现形式: 'hello'

    bytes :

    ​ 内存中的编码方式: 非Unicode

    ​ 表现形式:b'hello'

    中文:

    ​ str:

    ​ 内存中的编码方式: Unicode

    ​ 表现形式:'中国'

    ​ bytes :

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

    ​ 表现形式:b'\xe4\xb8\xad\xe5\x9b\xbd'

    只有bytes 才能进行网络传输和存储
  • str ------> bytes

      	s1 = "中国"
      	b = s1.encode("utf-8")
      	转换成utf-8数据类型的bytes类型
      	b1 = b"\xe4\xb8\xad\xe5\x9b\xbd"
      	s1 = b.decpde("utf-8")
      

今日总结

  • 变量 指向的是数据.
  • 循环一个列表时,最好不要改变列表的大小.会影响你最终的结果.
  • 数据类型的补充:列表(sort,revrse.列表+ ,循环问题),字典(update.循环问题.).**
  • 编码的进阶:bytes为什么存在.str转换成bytes(Unicode----->非Unicode)
  • gbk<----->utf - 8
posted @ 2019-05-09 16:31  路一  阅读(135)  评论(0编辑  收藏  举报