Python_0基础:4.类型转换

作者: liang_820 | 来源:发表于2022-05-23 14:24 被阅读0次
    函数 说明
    int(x) 将x转换为一个整数
    float(x) 将x转换为一个浮点数
    str(x) 将x转换为字符串
    bool(x) 将x转换为布尔值

    强制类型转换为谁,就写什么方法


    一、转换为整型

    • str - - - > int
    a = '123'
    print(type(a))  # <class 'str'>
    b = int(a)
    print(b)    # 123
    print(type(b))  # <class 'int'>
    
    • float - - - > int

    将float转换为整型,返回的是小数点前的数据

     a = 1.63  
     print(type(a))  # <class 'float'>  
     b = int(a)    
     print(b)    # 1  
     print(type(b))  # <class 'int'>
    
    • bool - - - > int

    True ---> 1 False ---> 0

    a = True  
    print(type(a))  # <class 'bool'>  
    b = int(a)  
    print(b)    # 1  
    print(type(b))  # <class 'int'>
    
    • 注意:
    # 以下两种情况会转换失败
    
     a = '123.456'  
     print(type(a))  # <class 'str'>
     b = int(a)  
     print(type(b))  
      
    
     a = '12ab'  
     print(type(a))  # <class 'str'>
     b = int(a)  
     print(type(b))
    
    # 123.456 和 12ab 字符串,都包含非法字符,不能被转换成整数,会报错!!!
    

    二、转换为浮点数

    当我们在爬虫的时候大部分获取的都是字符串数据类型

    • str - - - > float
    a = '12.34'  
    print(type(a))  # <class 'str'>  
    b = float(a)  
    print(b)    # 12.34  
    print(type(b))  # <class 'float'>  
    
    • int - - - > float
    a = 666  
    print(type(a))  # <class 'int'>  
    b = float(a)  
    print(b)    # 666.0  
    print(type(b))  # <class 'float'>
    

    三、转换为字符串

    强制类型转换为字符串的方法是:str()

    • int - - - > str
    a = 80
    print(type(a))  # <class 'int'>
    b = str(a)
    print(b)    # 80
    print(type(b))  # <class 'str'>
    
    • float - - - > str
    a = 1.2
    print(type(a))  # <class 'float'>
    b = str(a)
    print(b)    # 1.2
    print(type(b))  # <class 'str'>
    
    • bool - - - > str
    a = True
    print(type(a))  # <class 'bool'>
    b = str(a)
    print(b)    # True
    print(type(b))  # <class 'str'>
    

    四、转换为布尔型

    • int - - - > bool

    如果对非0的整数(int 包含整数和负数)进行bool类型转换,那么就全都是True

    a = 1
    print(type(a))  # <class 'int'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    
    a = 2
    print(type(a))  # <class 'int'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    
    a = -1
    print(type(a))  # <class 'int'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    

    在整数的范围内,0强制类型转换为bool类型的结果是False

    a = 0
    print(type(a))  # <class 'int'>
    b = bool(a)
    print(b)    # False
    print(type(b))  # <class 'bool'>
    
    • float - - - > bool

    将浮点数转换为bool类型的数据的时候,正的浮点数和负的浮点数的结果是True

    a = 1.0
    print(type(a))  # <class 'float'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    
    a = -1.0
    print(type(a))  # <class 'float'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    

    如果是0.0,那么结果是False

    a = 0.0
    print(type(a))  # <class 'float'>
    b = bool(a)
    print(b)    # False
    print(type(b))  # <class 'bool'>
    
    • str - - - > bool

    只要字符串中有内容,那么在强制类型转换为bool的时候,那么就返回True

    a = '网红截聊天的图'
    print(type(a))  # <class 'str'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    
    a = '    '
    print(type(a))  # <class 'str'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    

    如果字符串中什么都没有的情况下,那么返回的就是False

    a = ''
    print(type(a))  # <class 'str'>
    b = bool(a)
    print(b)    # False
    print(type(b))  # <class 'bool'>
    
    • list - - - > bool

    只要列表中有数据,那么强制类型转换为bool的时候,就返回True

    a = ['吴亦凡', '鹿晗', '张艺兴', '黄子韬']
    print(type(a))  # <class 'list'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    

    如果列表中什么数据都没有的情况下,那么返回的就是False

    a = []
    print(type(a))  # <class 'list'>
    b = bool(a)
    print(b)    # False
    print(type(b))  # <class 'bool'>
    
    • tuple - - - > bool

    只要元组中有数据,那么强制类型转换为bool的时候,就会返回True

    a = ('李逵', '林冲', '卢俊义', '武松', '潘金莲')
    print(type(a))  # <class 'tuple'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    

    如果元组中没有数据的话,那么就返回False

    a = ()
    print(type(a))  # <class 'tuple'>
    b = bool(a)
    print(b)    # False
    print(type(b))  # <class 'bool'>
    
    • dict - - - > bool

    只要字典中有内容,那么在强制类型转换为bool的时候,就会返回True

    a = {'name': '武大郎'}
    print(type(a))  # <class 'dict'>
    b = bool(a)
    print(b)    # True
    print(type(b))  # <class 'bool'>
    

    如果在字典中没有数据的话,那么返回的就是False

    a = {}
    print(type(a))  # <class 'dict'>
    b = bool(a)
    print(b)    # False
    print(type(b))  # <class 'bool'>
    
    • 什么情况是False???
    print(bool(0))      # False
    print(bool(0.0))    # False
    print(bool(''))     # False
    print(bool(""))     # False
    print(bool([]))     # False
    print(bool(()))     # False
    print(bool({}))     # False
    

    相关文章

      网友评论

        本文标题:Python_0基础:4.类型转换

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