Python 数据类型--数字型

系统 1869 0

一、Python数据类型介绍

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

二、数字类型

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

2.1 数字类型的创建

            
               1
            
            
              #
            
            
              !/usr/bin/env python3
            
            
               2
            
            
              #
            
            
               -*-coding:utf-8-*-
            
            
               3
            
            
               4
            
            
              """
            
            
               5
            
            
              @author:fyh

            
            
               6
            
            
              @time:2019/5/31

            
            
               7
            
            
              """
            
            
               8
            
            
              #
            
            
               int类型创建
            
            
               9
            
             a = 10

            
              10
            
             b = 666

            
              11
            
            
              12
            
            
              print
            
            (a)  
            
              #
            
            
               10
            
            
              13
            
            
              print
            
            (b)  
            
              #
            
            
               666
            
            
              14
            
            
              print
            
            (type(a))  
            
              #
            
            
              
            
            
              15
            
            
              16
            
            
              #
            
            
               float类型创建
            
            
              17
            
             c = 3.14

            
              18
            
            
              print
            
            
              (c)

            
            
              19
            
            
              print
            
            (type(c))  
            
              #
            
            
              
            
            
              20
            
            
              21
            
            
              #
            
            
               complex类型创建
            
            
              22
            
             d = 3 + 4j

            
              23
            
            
              print
            
            
              (d)

            
            
              24
            
            
              print
            
            (type(d))  
            
              #
            
            
              
            
            
              25
            
            
              26
            
            
              #
            
            
               布尔型
            
            
              27
            
             flag =
            
               True

            
            
              28
            
            
              print
            
            
              (flag)

            
            
              29
            
            
              print
            
            (type(flag))   
            
              #
            
            
              
            
          

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

2.2 数字类型转换

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

  • 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
            
               1
            
            
              #
            
            
              !/usr/bin/env python3
            
            
               2
            
            
              #
            
            
               -*-coding:utf-8-*-
            
            
               3
            
            
               4
            
            
              """
            
            
               5
            
            
              @author:fyh

            
            
               6
            
            
              @time:2019/5/31

            
            
               7
            
            
              """
            
            
               8
            
            
               9
            
            
              #
            
            
               int(x)
            
            
              10
            
             var1 = 3.14

            
              11
            
            
              print
            
            (int(var1))  
            
              #
            
            
               3
            
            
              12
            
            
              13
            
            
              #
            
            
               float(x)
            
            
              14
            
             var2 = 3

            
              15
            
            
              print
            
            (float(var2))  
            
              #
            
            
               3.0
            
            
              16
            
            
              17
            
            
              #
            
            
               complex(x)
            
            
              18
            
             var3 = 4

            
              19
            
             var4 = 2

            
              20
            
            
              print
            
            (complex(var3))    
            
              #
            
            
               (4+0j)
            
            
              21
            
            
              #
            
            
               complex(x, y)
            
            
              22
            
            
              print
            
            (complex(var3, var4))  
            
              #
            
            
               (4+2j)
            
            
              23
            
            
              24
            
            
              #
            
            
               bool(x)
            
            
              25
            
             var5 = 1

            
              26
            
            
              print
            
            (bool(var5))   
            
              #
            
            
               True
            
            
              27
            
             var6 =
            
               0

            
            
              28
            
            
              print
            
            (bool(var6))   
            
              #
            
            
               False
            
          

 

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

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

2.3 数学运算

            
               1
            
            
              #
            
            
              !/usr/bin/env python3
            
            
               2
            
            
              #
            
            
               -*-coding:utf-8-*-
            
            
               3
            
            
               4
            
            
              """
            
            
               5
            
            
              @author:fyh

            
            
               6
            
            
              @time:2019/5/31

            
            
               7
            
            
              """
            
            
               8
            
            
               9
            
            
              print
            
            (2 + 2)    
            
              #
            
            
               4
            
            
              10
            
            
              11
            
            
              print
            
            (50 - 5*5)     
            
              #
            
            
               25
            
            
              12
            
            
              13
            
            
              print
            
            (8 / 5)    
            
              #
            
            
               1.6
            
            
              14
            
            
              #
            
            
               在整数除法中,除法 / 总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 //
            
            
              15
            
            
              print
            
            (17 / 3)   
            
              #
            
            
               5.666666666666667
            
            
              16
            
            
              17
            
            
              print
            
            (17 // 3)  
            
              #
            
            
               5
            
            
              18
            
            
              19
            
            
              #
            
            
               注意:// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
            
            
              20
            
            
              print
            
            (7.0 // 2)     
            
              #
            
            
               3.0
            
            
              21
            
            
              print
            
            (7 // 2.0)     
            
              #
            
            
               3.0
            
            
              22
            
            
              23
            
            
              #
            
            
               %操作符返回除法的余数
            
            
              24
            
            
              print
            
            (17 % 3)   
            
              #
            
            
               2
            
            
              25
            
            
              26
            
            
              #
            
            
               Python 可以使用 ** 操作来进行幂运算
            
            
              27
            
            
              print
            
            (5 ** 2)   
            
              #
            
            
               25
            
            
              28
            
            
              print
            
            (2 ** 7)   
            
              #
            
            
               128
            
          

2.3 数字类型相关的函数

数学相关的函数在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
            
          

 2.4 小整数对象池

            
              1
            
             >>> a = 5

            
              2
            
             >>> b = 5

            
              3
            
             >>>
            
               id(a),id(b)

            
            
              4
            
             (1892969616, 1892969616
            
              )

            
            
              5
            
             >>> c = 500

            
              6
            
             >>> d = 500

            
              7
            
             >>>
            
               id(c),id(d)

            
            
              8
            
             (2499230475376, 2499234158160
            
              )

            
            
              9
            
             >>>
          

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

对象池:缓存的机制。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论