zoukankan      html  css  js  c++  java
  • Python数字类型介绍

    数据类型介绍

    • Python数据类型可分为:数字型和非数字型
    • 数字型
      • 整型(int)
      • 浮点型(float)
      • 布尔型(bool)
        • 真(True)
        • 假(False)
      • 复数型(complex)
        • 主要用于科学计算
    • 非数字型
      • 字符串(str)
      • 列表(list)
      • 元组(tuple)
      • 字典(dict)
    • 在Python中,所有的非数字类型变量,都有一个共同的特点:
      • 都是一个序列,可以理解为容器

    数字类型

      在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647

      在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

    数字类型的创建

    #!/usr/bin/env python3
    # -*-coding:utf-8-*-
    
    """
    @author:fyh
    @time:2019/5/31
    """
    # int类型创建
    a = 10
    b = 666
    
    print(a)  # 10
    print(b)  # 666
    print(type(a))  # <class 'int'>
    
    # float类型创建
    c = 3.14
    print(c)
    print(type(c))  # <class 'float'>
    
    # complex类型创建
    d = 3 + 4j
    print(d)
    print(type(d))  # <class 'complex'>
    
    # 布尔型
    flag = True
    print(flag)
    print(type(flag))   # <class 'bool'>
    

    type(obj) 函数可以查看变量的类型

    数据类型的转换

    有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

    • int(x) 将x转换为一个整数
    • float(x) 将x转换到一个浮点数
    • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0
    • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式
    • bool(x) 将x转换为bool类型,非0为True,0为False
    #!/usr/bin/env python3
    # -*-coding:utf-8-*-
    
    """
    @author:fyh
    @time:2019/5/31
    """
    
    # int(x)
    var1 = 3.14
    print(int(var1))  # 3
    
    # float(x)
    var2 = 3
    print(float(var2))  # 3.0
    
    # complex(x)
    var3 = 4
    var4 = 2
    print(complex(var3))    # (4+0j)
    # complex(x, y)
    print(complex(var3, var4))  # (4+2j)
    
    # bool(x)
    var5 = 1
    print(bool(var5))   # True
    var6 = 0
    print(bool(var6))   # False
    

    数字类型转换时,x只能是数字类型相互转换,若是其它的类型会报错:

    str1 = "a"
    print(int(str1))  # 会报错
    

    数学运算

    #!/usr/bin/env python3
    # -*-coding:utf-8-*-
    
    """
    @author:fyh
    @time:2019/5/31
    """
    
    print(2 + 2)    # 4
    
    print(50 - 5*5)     # 25
    
    print(8 / 5)    # 1.6
    # 在整数除法中,除法 / 总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 //
    print(17 / 3)   # 5.666666666666667
    
    print(17 // 3)  # 5
    
    # 注意:// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
    print(7.0 // 2)     # 3.0
    print(7 // 2.0)     # 3.0
    
    # %操作符返回除法的余数
    print(17 % 3)   # 2
    
    # Python 可以使用 ** 操作来进行幂运算
    print(5 ** 2)   # 25
    print(2 ** 7)   # 128
    

    数字类型相关的函数

    数学相关的函数在math包中

    # abs(x) 返回数字的绝对值,如abs(-10) 返回 10
    # ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
    # cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
    # exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
    # fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
    # floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
    # log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
    # log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
    # max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
    # min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
    # modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    # pow(x, y) x**y 运算后的值。
    # round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
    # sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2.0
    

    小整数对象池

    >>> a = 5
    >>> b = 5
    >>> id(a),id(b)
    (1892969616, 1892969616)
    >>> c = 500
    >>> d = 500
    >>> id(c),id(d)
    (2499230475376, 2499234158160)
    >>>
    

    小整数对象池:CPython中整数-5 到 256,永远存在小整数对象池中,不会释放。

    对象池:缓存的机制。

  • 相关阅读:
    显示文件本地文件夹
    Select Dependencies选择依赖项
    搜索小技巧
    783. Minimum Distance Between BST Nodes BST节点之间的最小距离
    5. Longest Palindromic Substring 最长的回文子串
    12. Integer to Roman 整数转罗马数字
    3. Longest Substring Without Repeating Characters 最长的子串不重复字符
    539. Minimum Time Difference 最小时差
    43. Multiply Strings 字符串相乘
    445. Add Two Numbers II 两个数字相加2
  • 原文地址:https://www.cnblogs.com/fengyuhao/p/11697505.html
Copyright © 2011-2022 走看看