zoukankan      html  css  js  c++  java
  • python强制类型转换和自动类型转换

    一. 强制类型转换:Number (int float complex bool )

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

    var1 = 3
    var2 = 5.67
    var3 = "123"
    var4 = 5+6j
    var5 = "abc"
    var6 = True
    var7 = False

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

    1.1int的强制转换

    可以转换为整型.浮点型.布尔型.纯数字字符串

    res = int(var2)
    res = int(var3)
    res = int(var6) # True =>  1
    res = int(var7) # False => 0
    # res = int(var4) error
    # res = int(var5) error
    print(res , type(res))

    1.2float的强制转换

    可以转换为整型.浮点型.布尔型.纯数字字符串

    res = float(var1)
    res = float(var3)
    res = float("123.456")
    res = float(var6) # True  => 1.0
    res = float(var7) # False => 0.0
    
    print(res , type(res))

    1.3 complex的强制转换

    可以转换为整型 浮点型 布尔型 纯数字字符串 复数

    res = complex(var1)
    res = complex(var2)
    res = complex(var3)
    # res = complex(var5) error
    res = complex(var6) # True => 1+0j
    res = complex(var7) # False => 0j
    print(res , type(res)) # 3+0j

    1.3 bool的强制转换 ****************

    """
    没有数据类型的限制,可以转换一切数据类型;
    bool => True 或者 False
    布尔型为假的十种情况:
    Number : 0  ,  0.0  , 0j , False
    容器   : '' , [] , () , set() , {}
    关键字 : None (代表空的,什么也没有,一般用来对变量做初始化操作的)
    """
    res = bool( None )
    print(res , type(res)) 
    
    
    # 初始化变量 , 使用None
    a = None
    b = None

    二.自动类型转换 Number

    精度从高到低

    bool-->int-->float-->complex

    自动类型转换原则: 把低精度的数据向高精度进行转换

    # bool + int
    res = True + 100 # 1 + 100 => 101
    print(res , type(res))
    
    # bool + float
    res = True + 4.5 # 1.0 + 4.5 => 5.5
    print(res , type(res))
    
    # bool + complex
    res = True + 6+3j # 1+0j  +  6+3j => 7 + 3j
    print(res , type(res))
    
    # int + float
    res = 120 + 3.14 # 120.0 + 3.14
    print(res , type(res))
    
    # int + complex
    res  =100 + 4-3j # 100 + 0j +4-3j
    print(res , type(res))
    
    # float + complex
    res = 5.67 + 3+3j # 5.67 + 0j + 3 + 3j
    print(res , type(res))
    
    # 精度损耗 (写程序时,不要用小数做比较的条件,会导致结果不准确,一般系统会把小数位截取15~18位而产生数据的误差)
    res = 0.1+0.2 == 0.3
    res = 4.1+4.2 == 8.3
    print(res)
  • 相关阅读:
    Ajax工作原理和原生JS的ajax封装
    HNU 13073 Ternarian Weights 解题报告
    如何在Eclipse中配置python开发环境
    C++中vector 容器的基本操作
    2014年百度实习生面试题及总结
    Python计算一个项目中含有的代码行数
    Linux环境下的GCC编译器与GDB调试工具介绍
    linux环境下Vim的配置
    计算机网络中好的期刊和会议
    hdu 1005解题报告
  • 原文地址:https://www.cnblogs.com/whc6/p/14012057.html
Copyright © 2011-2022 走看看