美文网首页
Python自学笔记——3.基础数据类型转换

Python自学笔记——3.基础数据类型转换

作者: 闻浅问涧 | 来源:发表于2022-04-25 16:41 被阅读0次

    基础数据类型转换

    • 数据类型转换的形式
      1. 自动类型转换
      2. 强制类型转换
    • 可变数据类型: 列表, 字典, 集合
    • 不可变数据类型 ; 字符串, 数字, 元组
    • 容器数据类型:字符串,列表,元组,字典,集合
    • 非容器数据类型:数字

    1.自动类型转换

    a = True
    b = 2
    c = 3.14
    d = 1+2j
    print(a + b, type(a + b))
    print(b + c, type(b + c))
    print(c + d, type(c + d))
    
    • 当两个不用的数值进行运算时,结果会向更高精度进行计算

    2.强制类型转换

    a = 'abc'
    b = '123'
    c = 456
    d = 3.14
    e = True
    f = [1, 2, 'a', 'b']
    g = (1, 2, 'a', 'b')
    h = {1:'a', 2:'b'}
    i = {1, 2, 'a', 'b'}
    
    # 字符串类型
    s = [a, b, c, d, e, f, g, h, i]
    for x in range(0, 9):
        print(s[x], type(s[x]), '---->', str(s[x]), type(str(s[x])))
    
    # 整型
    print()
    s = [b, d, e]
    for x in range(0, 3):
        print(s[x], type(s[x]), '---->', int(s[x]), type(int(s[x])))
    
    # 浮点型
    print()
    s = [b, c, e]
    for x in range(0, 3):
        print(s[x], type(s[x]), '---->', float(s[x]), type(float(s[x])))
    
    # 布尔类型
    print()
    s = [a, b, c, d, e, f, g, h, i]
    for x in range(0, 9):
        print(s[x], type(s[x]), '---->', bool(s[x]), type(bool(s[x])))
    z = ['', 0, 0.0, False, [], (), {} , set()]
    for x in range(0, 7):
        print(z[x], type(z[x]), '---->', bool(z[x]), type(bool(z[x])))
    
    
    #列表类型
    print()
    s = [a, b, f, g, h, i]
    for x in range(0, 6):
        print(s[x], type(s[x]), '---->', list(s[x]), type(list(s[x])))
    
    #元组类型
    print()
    s = [a, b, f, g, h, i]
    for x in range(0, 6):
        print(s[x], type(s[x]), '---->', tuple(s[x]), type(tuple(s[x])))
    
    # 集合类型
    print()
    s = [a, b, f, g, h, i]
    for x in range(0, 6):
        print(s[x], type(s[x]), '---->', set(s[x]), type(set(s[x])))
    
    
    # 字典类型
    print()
    
    l = [(1, 'a'), (2, 'b')]
    m = ((1, 'a'), [2, 'b'])
    n = {(1, 'a'), (2, 'b')}
    o = [((1, 2, 3), ('a', 'b', 'c')), (('d', 'e', 'f'), (4, 5, 6))]
    s = [l, m, n, o]
    for x in range(0, 4):
        print(s[x], type(s[x]), '---->', dict(s[x]), type(dict(s[x])))
    
    
    • 数字类型之间可以互相转换
    • 字符串类型转换为整型或浮点类型时,只能转换只包含数字的字符串类型
    • 其他类型均能转换为布尔类型
    • '', 0, 0.0, False, [], (), {} , set()转换为布尔类型时为False,其余均为 True
    • 非容器类型不能转换为列表、元组、字典、集合类型
    • 字典类型转换为列表、元组、集合类型时,只保留字典中的键
    • 容器类型转换为集合时,结果是无序的
    • 列表、元组和集合转换为字典时,要求至少为二级容器,且每个元素中的元素成对出现

    相关文章

      网友评论

          本文标题:Python自学笔记——3.基础数据类型转换

          本文链接:https://www.haomeiwen.com/subject/jrdgertx.html