• 【Python学习笔记01】数据类型


    笔记

    2、数字类型

    • int 整型
    • float 浮点型
    • complex 复数
    • bool 布尔类型(True,False)
    • 数字类型 Number
    varn = 532
    varn = -1111    # int
    varn = 3.123    # <class 'float'>
    varn = b'00110001'  # <class 'bytes'>
    varn = 5+6j     # (5+6j) <class 'complex'>  复数
    print(varn,type(varn))
    
    #布尔(bool)类型(True,False)      注意大写
    varn = True     #True <class 'bool'>
    varn = False    #False <class 'bool'>
    # 数值类型可参与运算
    print(varn,type(varn))
    

    3. list列表类型

    • 列表用来表示一系列数据,例如:需要记录一组数字或其他数据
    • 在需要记录多个数据时可以使用“[]”进行定义并且用“,”分隔
    varlist = [190,123,461,67]
    print(varlist,type(varlist))  #<class 'list'>
    
    • 列表中存储的数据可以是任意类型
    varlist = ['a',92,'汉字']
    print(varlist,type(varlist))    #<class 'list'>
    
    • 列表中的下标
    '''
      0   1  2   3     4
    ['a','b',98,'pai',2432]
     -5  -4  -3  -2   -1
    '''
    varlist = ['a','b',98,'pai',2432]
    print(varlist[0])   #a
    print(varlist[-4])  #b
    print(varlist[3])  #pai
    
    # 列表中元素的值可以是任意类型
    # 那么列表中元素的值可不可以存储一个列表。
    # 称为二级列表(多维列表)或者多级列表(多维列表)
    varlist = ['a',[1,2,'pai',3],98,'yes',2432]
    print(varlist,type(varlist))    #可以 嵌套的列表算一个下标
    print(varlist[1])   #[1, 2, 'pai', 3]
    print(varlist[1][2])    #pai    
    

    4. tuple元组类型

    • 在定义多个数据内容时,可以选择使用List列表类型
    • 还可以使用元组类型来定义,元组和列表非常像,都适用于存储多个数据时使用
    • 元组使用小括号()进行定义,列表使用中括号[]进行定义
    • 元组的最大特点:值不能被改变
    # tuple
    vart = (1,2,3,'a','b','c')
    print(vart,type(vart))  # <class 'tuple'>
    # 元组的其它定义方式
    vart = 1,2,3
    print(vart,type(vart))  # <class 'tuple'>
    
    注意在定义元组时,如果元组中只有一个元素,需要加“,",不然就不是元组类型了
    vart = (1,)
    print(vart,type(vart))  # (1,) <class 'tuple'>
    
    列表与元组的区别
    • 符号使用的区别
    • 列表中的值可以被改变,元组不可以
    • ————注意数据类型的操作
    # 定义列表
    varl = [1,2,3]
    # 通过下表来修改元素的值
    varl[2] = 33
    print(varl)     # [1, 2, 33]
    
    # 定义元组  ----报错!!!
    vart = (1,2,3)
    vart[2] = 33
    # print(vart)
    

    5. dict字典类型

    • 字典也是用于存储一组或多组数据时使用,使用大括号{}来定义
    • 字典是键值对数据存储方式 name : admim
    • 键必须是字符串或数字类型,值可以是任意类型
    • 键名不可以重复,值可以重复
    tip:在python之前的版本中,字典是无需的
    # 比如需要记录一本书的相关数据   书名,作者,价格,类型等
    <p class="mume-header " id="比如需要记录一本书的相关数据-书名作者价格类型等"></p>
    
    vard = {'title':'《鬼谷子》','author':'鬼谷子','price':'29.99'}
    print(vard,type(vard))  # print(vard,type(vard))
    
    #  获取字典中的值
    <p class="mume-header " id="获取字典中的值"></p>
    
    print(vard['title'])    #《鬼谷子》
    
    #  字典中键名不能重复使用,否则后面的覆盖前面的
    <p class="mume-header " id="字典中键名不能重复使用否则后面的覆盖前面的"></p>
    
    vard = {'a':10,'b':9,'a':'aa',1:111,'2':"222"}
    print(vard,type(vard))  # {'a': 'aa', 'b': 9, 1: 111, '2': '222'} <class 'dict'>
    

    6. set集合类型

    • set集合是一个 无序且元素不重复的 集合的数据类型
    • set集合使用 中括号或者set()方法来定义
    • 如果需要定义一个空集合,只能使用set()方法,因为{}时定义的空字典
    vars1 = {}
    print('vars1:',vars,type(vars1))    #vars1: {1, 2, 3, 'a', 'b'} <class 'dict'>
    vars = set()
    print(vars,type(vars))  # set() <class 'set'>
    
    • 集合主要用于运算,交集,差集,并集,对称集合
    a = {1,2,3,'a','b'}
    b = {1,'a',22,33}
    print(a & b)    # 交集    {1, 'a'}
    print(a - b)    # 差集    {2, 3, 'b'} a集合有,b集合没有
    print(a | b)    # 并集    {1, 2, 3, 33, 'b', 22, 'a'} 两个集合放在一起,并且去重
    print(a ^ b)    # 对称差集  {2, 33, 3, 'b', 22} 把重复的内容去掉
    
    #  集合的定义方式
    <p class="mume-header " id="集合的定义方式"></p>
    
    vars = {1,2,3,'a','b'}
    #  vars = set('123456')    #无序显示
    <p class="mume-header undefined" id="vars-set123456-无序显示"></p>
    
    print(vars,type(vars))  # <class 'set'>
    
    a = {1,2,3,'a'}
    #  给集合添加元素
    <p class="mume-header " id="给集合添加元素"></p>
    
    a.add('b')
    #  无法获取集合中的单个元素,但是可以添加和删除
    <p class="mume-header " id="无法获取集合中的单个元素但是可以添加和删除"></p>
    
    print(a.discard(1))     # 删除a中的元素'a'
    print('a:',a)
    #  检查当前的元素是否在集合中
    <p class="mume-header " id="检查当前的元素是否在集合中"></p>
    
    print(1 in a)   #False
    

    7. 数据类型转换

    字符串 String
    数字类型 Number
    整型 int
    浮点型 float
    复数 complex
    布尔 bool
    列表 list
    元组 tuple
    字典 dict
    集合 set

    可变数据类型:列表、字典、集合
    不可变数据类型:字符串、数字、元组

    容器类型数据:字符串、列表、元组、集合、字典
    非容器类型:数字、布尔

    数据类型转换
    1. Q:什么是数据类型转换?
      A:把一个数据类型转换成另一个数据类型。例:字符串转换为数字
    2. Q:为什么要数据类型转换?
      A:不同数据类型之间不能运算
    3. Q:数据类型转换形式?
      A:自动类型转换、强制类型转换
    • 自动类型转换
    • 当两个不同的值进行运算时,结果会向更高精度的数字类型进行计算
    • True ==> 整型 ==> 浮点型 ==> 复数
    a = 123
    b = True    # 在和数字运算时,True转为数字1,False转为数字0
    print(a + b)    # 124
    print(12.1+2)   # 14.1  浮点型+整型
    print(True + 1.23) # 2.23
    print(True + False) # 1
    
    强制类型转换

    下面的函数可以把其他类型的数据转换为对应的数据类型

    str()   
    int()
    float()
    bool()
    list()
    tuple()
    dict()
    set()
    
    a = {'a':1,'b':2}   # dict
    res = str(a)
    print(a,type(a))
    print(res,type(res))    # <class 'str'>
    
    a = 12.33
    res = int(a)
    print(res,type(res))    # 12 <class 'int'>
    
    • bool可以把其他类型转换为布尔类型的True和False
    • 需要总结,哪些情况转bool的结果为false
        '0' True
        ''  False
        0
        0.0
        False
        (),{},[],set()
    

    8. 容器类型数据转换

    list 列表
    • 数字类型是非容器类型,不能转换为列表
    • 字符串转换为列表时,会把字符串中每一个字符当作列表元素
    • 集合可以转换为列表list类型
    • 元组可以转换为列表list类型
    • 字典 可以转换为列表list类型,但 只保留了字典中的 键 (默认)
    n = '12.3'
    res = list(n)
    print(n,type(n),res,type(res))  # 12.3 <class 'str'> ['1', '2', '.', '3'] <class 'list'>
    
    tuple 元组
    • 数字类型 非容器类型,不能转换为元组
    • 其他容器类型的数据进行转换时,和列表一样
    set 集合
    • 同上
    dict 字典
    • 数据类型 非容器类型,不能转为 字典
    • 字符串不能直接转换为 字典
    • 列表、元组 可以转换为字典,要求是一个二级列表、元组,并且每个二级元素只能有 两个值
    • 集合无法转换为 字典
    n = [[1,2],['a','b'],[3,'c']]   # 二级容器
    res = dict(n)
    print(res,type(res))    # {1: 2, 'a': 'b', 3: 'c'} <class 'dict'>
    
  • 相关阅读:
    算法与数据结构(二):队列
    算法与数据结构(二):链表
    算法与数据结构(一):时间复杂度与空间复杂度
    2018总结与2019规划
    VC++ IPv6的支持
    从项目中学习HTML+CSS
    xampp 中 mysql的相关配置
    yum卸载遇到的问题--待解决
    RHEL 6.5----heartbeat
    RHEL 6.5-----MFS
  • 原文地址:https://www.cnblogs.com/ishai/p/12994518.html
Copyright © 2020-2023  润新知