基础数据类型补充以及编码初识

时间:2019-11-25
本文章向大家介绍基础数据类型补充以及编码初识,主要包括基础数据类型补充以及编码初识使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.今日内容大纲

  • 基础数据量类型的补充
  • 编码的初始

2.具体内容

2.1基础数据类型

int(float) str bool dict tuple list set

  • int(十进制与二进制转换)

    十进制转化成二进制:

    除2取余,逆序排列

    42 -------》 详见黑板 0010 1010

    二进制转化成十进制:

    0110 1 0 1 1 :从右至左,2的零次方开始。

    1*2**0 + 1*2**1 + 0*2**2 + 1*2**3 + 0*2**4..

  • str: 格式化输出

    %s format

    %s

    # % 占位符  s--->str d--->dight
    # msg = '我叫%s,今年%d, 学习进度%d%%。' % ('渣男',18,5)
    # print(msg)
    

    format

    # format
    # msg = '我叫{},今年{}, 学习进度{}。'.format('健身哥',19,'3%')
    # msg = '我叫{0},今年{1}, 学习进度{2}。我依然叫{0}'.format('健身哥',19,'3%')
    # print(msg)
    msg = '我叫{name},今年{age}, 学习进度{process}。'.format(age=19,process='3%',name='龙崽儿')
    print(msg)
    
    ret = '12309'
    # print(ret.isdecimal())  # 判断字符串全部都是阿拉伯数字组成
    ret1 = 'BARRYfdasd123'
    # print(ret1.isalpha())  # 判断字符串全部都是字母组成
    # ret2 = 'abc123'
    # print(ret2.isalnum())  # 判断字符串全部都是字母或者数字组成
    
    #  下面的练习1编
    # name = 'barry'
    # #captalize,swapcase,title
    # print(name.capitalize()) #首字母大写
    # print(name.swapcase()) #大小写翻转
    # msg='taibai say hi'
    # print(msg.title()) #每个单词的首字母大写
    #
    # # 内同居中,总长度,空白处填充
    # ret2 = a1.center(20,"*")
    # print(ret2)
    
  • list

    # list:
    # 创建列表的方式:
    # l1 = [1, 2, 3, 4]
    # l1 = list('dfsdafdsaf')
    # # print(l1)
    # l1 = [i for i in range(10)]
    # # print(l1)
    # list
    
    l1 = [10, 9, 3, 7, 2, 6, 9, 1, 5]
    # l1.sort()  从小到大
    # l1.sort(reverse=True)  从大到小
    # l1.reverse()  # 翻转
    # print(l1)
    
    # 通过索引找元素
    # print(l1[1])
    # 通过元素找索引(找到第一个元素即返回)
    # print(l1.index(9))
    
    # 列表可以相加
    # l1 = [1,2,3]
    # l2 = [22,33,44]
    # print(l1+l2)
    
    # 列表可以 与数字相乘
    # l1 = [11,22,33]
    # print(l1*3)
    
  • tuple

    只读列表,(1,2,3,[22,44]) 只能读取数据不能更改数据。

    一般工作中,将一些重要的数据构建在元组中,个人信息。

  • dict

    字典字典的特性: 字典是以键值对形式存储的,无序的容器型的数据类型无序: 3.字典
    字典的特性: 字典是以键值对形式存储的,无序的容器型的数据类型
    无序: 3.5版本之前无序,3.6版本之后,有序的。(这个顺序是按照创建字典初键值对的顺序排序)
    可以存储大量的数据,查询速度非常快,缺点:占用的空间大。
    字典的键是唯一的不可变的。
    数据类型的划分:
    ,3.6版本之后,有序的。(这个顺序是按照创建字典初键值对的顺序排序)可以存储大量的数据,查询速度非常快,缺点:占用的空间大。字典的键是唯一的不可变的。

    数据类型的划分:

    • 可变与不可变

      可变(不可哈希)的数据类型:list,dict,set

      不可变(可哈希)的数据类型:tuple str int bool

      哈希: 哈希算法,只能针对不可变的数据类型,

    • 容器型与非容器型:

      容器型数据类型:list dict tuple set

      非容器型数据类型:str bool int

    生产环境相关: 4g内存,几百万个键值对,不用考虑内容优化的问题。

    # dic = dict.fromkeys('abcd','太白')
    # dic = dict.fromkeys([1,2,3],'太白')
    # print(dic)
    
  • 集合

    容器型的数据类型,可变的数据类型。{},集合要求里面的元素是不可变的数据类型,并且是唯一的,但是集合本身是可变的数据类型,集合无序的。

    # print({1, 'barry', (1,2,3), False})
    print({1, 'barry', (1,2,3), False,[1,2,3]})
    

    集合:

    1. 列表去重。

    2. 关系测试。交集,并集,差集等等。

  • 数据类型的转化

    int(float) str bool dict tuple list set

    • int str bool

      int ---> str
      i = 123
      str(i)
      
      str ---> int  有条件的,全部是数字组成的字符串转化成数字
      
      s = '100'
      if s.isdecimal():
      	int(s)
      
      int ---> bool
      非零数字转化成bool都是True
      零转化成bool值是False。
      
      bool----> int
      b = True
      print(int(b))   1
      b = False
      print(int(b))  0
      
          
      
    • list set

      list ---> set
      set(list)  列表去重
      set ----> list
      list(set) 
      
    • str list

      str ----> list
      split 
      s1 = 'barry-taibai-歌神'
      print(s1.split('-'))
      list ---> str
      l1 = ['barry', 'taibai', '歌神']
      print('+'.join(l1))
      
    • tuple list pass

    • 所有的数据类型 共同转化成False

      0 '' [] () {} set() None

原文地址:https://www.cnblogs.com/qiaotianzi/p/11927602.html