• python数据类型——数字


    整型 Integers

    整型运算,加减乘:

    2 + 2
    
    4
    
    3 - 4
    
    -1
    
    4 * 5
    
    20
    

    Python 2.7中,整型的运算结果只能返回整型,除法的结果也不例外。

    例如12 / 5返回的结果并不是2.4,而是2:

    12 / 5
    
    2
    

    幂指数:

    2 ** 5
    
    32
    

    取余:

    32 % 5
    
    2
    

    赋值给变量:

    a = 1
    a
    
    1
    

    使用type()函数来查看变量类型:

    type(a)
    
    int
    

    整型数字的最大最小值:

    在 32 位系统中,一个整型 4 个字节,最小值 -2,147,483,648,最大值 2,147,483,647

    在 64 位系统中,一个整型 8 个字节,最小值 -9,223,372,036,854,775,808,最大值 9,223,372,036,854,775,807

    import sys
    sys.maxint
    
    2147483647
    

    长整型 Long Integers

    当整型超出范围时,Python会自动将整型转化为长整型,不过长整型计算速度会比整型慢。

    a = sys.maxint + 1
    print type(a)
    
    <type 'long'>
    

    长整型的一个标志是后面以字母L结尾:

    a
    
    2147483648L
    

    可以在赋值时强制让类型为长整型:

    b = 1234L
    type(b)
    
    long
    

    长整型可以与整型在一起进行计算,返回的类型还是长整型:

    a - 4
    
    2147483644L
    

    浮点数 Floating Point Numbers

    a = 1.4
    type(a)
    
    float
    

    在之前的除法例子12 / 5中,假如想要使返回的结果为2.4,可以将它们写成浮点数的形式:

    12.0 / 5.0
    
    2.4
    
    12 / 5.0
    
    2.4
    
    12.0 / 5
    
    2.4
    

    上面的例子说明,浮点数与整数进行运算时,返回的仍然是浮点数:

    5 + 2.4
    
    7.4
    

    浮点数也可以进行与整数相似的运算,甚至可以取余:

    3.4 - 3.2
    
    0.19999999999999973
    
    12.3 + 32.4
    
    44.7
    
    2.5 ** 2
    
    6.25
    
    3.4 % 2.1
    
    1.2999999999999998
    

    Python的浮点数标准与CJava一致,都是IEEE 754 floating point standard

    注意看 3.4 - 3.2 的结果并不是我们预期的0.2,这是因为浮点数本身储存方式引起的,浮点数本身会存在一点误差。

    事实上,Python 中储存的值为'0.199999999999999733546474089962430298328399658203125',因为这是最接近0.2的浮点数。|

    '{:.52}'.format(3.4 - 3.2)
    
    '0.199999999999999733546474089962430298328399658203125'
    

    当我们使用print显示时,Python会自动校正这个结果

    print 3.4 - 3.2
    
    0.2
    

    可以用sys.float_info来查看浮点数的信息:

    import sys
    sys.float_info
    
    sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
    

    例如浮点数能表示的最大值:

    sys.float_info.max
    
    1.7976931348623157e+308
    

    浮点数能表示的最接近0的值:

    sys.float_info.min
    
    2.2250738585072014e-308
    

    浮点数的精度:

    sys.float_info.epsilon
    
    2.220446049250313e-16
    

    复数 Complex Numbers

    Python 使用 j 来表示复数的虚部:

    a = 1 + 2j
    type(a)
    
    complex
    

    可以查看它的实部,虚部以及共轭:

    a.real
    
    1.0
    
    a.imag
    
    2.0
    
    a.conjugate()
    
    (1-2j)
    

    交互计算

    可以将复杂的表达式放在一起计算:

    1 + 2 - (3 * 4 / 6) ** 5 + 7 % 5
    
    -27
    

    Python中运算是有优先级的,优先级即算术的先后顺序,比如“先乘除后加减”和“先算括号里面的”都是两种优先级的规则,优先级从高到低排列如下:

    • ( ) 括号
    • ** 幂指数运算
    • * / // % 乘,除,整数除法,取余运算
    • '+ -' 加减

    整数除法,返回的是比结果小的最大整数值:

    12.3 // 5.2
    
    2.0
    
    12.3 // -4
    
    -4.0
    

    简单的数学函数

    绝对值:

    abs(-12.4)
    
    12.4
    

    取整:

    round(21.6)
    
    22.0
    

    最大最小值:

    print min(2, 3, 4, 5)
    print max(2, 4, 3)
    
    2
    4
    

    变量名覆盖

    不要用内置的函数来命名变量,否则会出现意想不到的结果:

    type(max)
    
    builtin_function_or_method
    

    不要这样做!!!

    max = 1
    type(max)
    
    int
    
    max(4, 5)
    
    ---------------------------------------------------------------------------
    
    TypeError                                 Traceback (most recent call last)
    
    <ipython-input-41-c60446be959c> in <module>()
    ----> 1 max(4, 5)
    
    
    TypeError: 'int' object is not callable
    

    类型转换

    浮点数转整型,只保留整数部分:

    print int(12.324)
    print int(-3.32)
    
    12
    -3
    

    整型转浮点型:

    print float(1.2)
    
    1.2
    

    其他表示

    除了10进制外,整数还有其他类型的表示方法。

    科学计数法:

    1e-6
    
    1e-06
    

    16进制,前面加0x修饰,后面使用数字0-9A-F:

    0xFF
    
    255
    

    8进制,前面加0或者0o修饰,后面使用数字0-7:

    067
    
    55
    

    2进制,前面加0b修饰,后面使用数字0或1:

    0b101010
    
    42
    

    原地计算 In-place

    Python可以使用下面的形式进行原地计算:

    b = 2.5
    b += 2
    print b
    b *= 2
    print b
    b -= 3
    print b
    
    4.5
    9.0
    6.0
    

    布尔型 Boolean Data Type

    布尔型可以看成特殊的二值变量,其取值为TrueFalse

    q = True
    type(q)
    
    bool
    

    可以用表达式构建布尔型变量:

    q = 1 > 2
    print q
    
    False
    

    常用的比较符号包括:

    <, >, <=, >=, ==, !=
    

    Python支持链式比较:

    x = 2 
    1 < x <= 3
    
    True
    

    本人对于Python学习创建了一个小小的学习圈子,为各位提供了一个平台,大家一起来讨论学习Python。欢迎各位到来Python学习群:923414804一起讨论视频分享学习。Python是未来的发展方向,正在挑战我们的分析能力及对世界的认知方式,因此,我们与时俱进,迎接变化,并不断的成长,掌握Python核心技术,才是掌握真正的价值所在。

  • 相关阅读:
    【洛谷5052】[COCI2017-2018#7] Go(区间DP)
    【洛谷6564】[POI2007] 堆积木KLO(树状数组优化DP)
    【洛谷6940】[ICPC2017 WF] Visual Python++(扫描线)
    【洛谷6939】[ICPC2017 WF] Tarot Sham Boast(PGF结论题)
    【洛谷4123】[CQOI2016] 不同的最小割(最小割树)
    初学最小割树
    【洛谷6122】[NEERC2016] Mole Tunnels(模拟费用流)
    【洛谷6936】[ICPC2017 WF] Scenery(思维)
    【洛谷2805】[NOI2009] 植物大战僵尸(最大权闭合子图)
    【洛谷1393】Mivik 的标题(容斥+border性质)
  • 原文地址:https://www.cnblogs.com/paisenpython/p/10259771.html
Copyright © 2020-2023  润新知