python基础之数值类型

2018-09-01 05:53:33来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

python基础之数值类型

python3中共有11种基本数据类型,而这11种基本数据类型又通常分成3类,即

  • 数值类型:int (整形)float(浮点型) bool(布尔) complex(复数)
  • 序列类型:string(字符串) list(列表) couple(元组) bytes(二进制字符串)  bytearray(二进制数组)
  • 散列类型:set(集合) dict(字典)

其中 bytes与bytearray是python3中引入的新类型。

从数值类型说起,首先列出python中常见的算术运算符:

运算符 描述 实例
+ 加 :两个对象相加 2 + 4输出结果 6
- 减 :得到负数或是一个数减去另一个数 1 -3 输出结果-2
* 乘 - 两个数相乘                                                  2 * 4 输出结果8                                                      
/ 除 - x除以y 6 / 3 输出结果 2.0
% 取余(取模) - 返回除法的余数 6 % 3 输出结果 0 
// 取整除 - 返回商的整数部分(向下取整) 5//2输出结果2(注:5.0//2.0输出结果2.0)
**  幂 - 返回x的y次幂 2**4 为2的4次方, 输出结果16

 

 

 

 

 

 

 

 

 

值得注意的是python中的数值运算会存在如下图所示小数运算不精确的问题

 

 

 

此时可以通过导入decimal模块来解决这个问题。首先来介绍一下decimal模块:

注:模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具。换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践的需要,于是就有人专门制作了另外一些工具。这些工具被称之为“模块”

Python提供了decimal模块用于十进制数学计算,它具有以下特点:

  • 提供十进制数据类型,并且存储为十进制数序列;
  • 有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x 来设定,不同的数字可以有不同的精度
  • 浮点:十进制小数点的位置不固定(但位数是固定的)

使用方法如下图所示,首先需要导入decimal模块(python中导入模块的语法为 import + 模块名)。通过调用decimal.Decimal()将数值设置为decimal.Decimal类型

之后再对其进行之前的减法运算,可以看到此时输出了精确的结果,前文中的小数计算不精确的问题得以解决。

 

在数学之中,除了加减乘除四则运算之外还有其它更多的运算,比如开方、对数运算等等,要实现这些运算,需要用到 Python 中的一个模块:Math

math模块中的常用方法有:

                  方法                                                                       描述                                                                              实例                                            
math.pi 返回数学常数Π= 3.141592653589793 >>> math.pi    3.141592653589793
math.e 返回数学常数e= 2.718281828459045 >>> math.e     2.718281828459045
math.ceil(x) 返回x的上限,返回最小的整数A  (A>=x)。如math.ceil(3.14)返回的整数为4 >>> math.ceil(3.14)      4
math.floor(x) 返回x的下限,返回一个值最大整数A(A<=x)。如math.floor(3.14)返回的整数为3 >>> math.floor(3.14)     3
math.fabs(x) 返回x的绝对值 >>> math.fabs(-3)      3     
math . pow(x,y) 返回x的y次方,即返回 xy >>> math.pow(3,2)      9
math.sqrt(x) 返回√x >>> math.sqrt(9)      3
math.degrees(x) 将角x从弧度转换成角度。 >>> math.degrees(math.pi)      180.0
math.radians(x) 把角x从度转换成弧度 >>> math.radians(180)        3.141592653589793

 

 

 

 

 

 

 

bool(布尔类型)

python中布尔值使用常量True和False来表示。布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。例:

注:

1.在数值上下文环境中,True被当作1,False被当作0,例如 True+3=>4

2.其他类型值转换bool值时除了''、""、''''''、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False为False,其他都为True 例如 bool(-2)=>True

complex(虚数类型)

complex型数据由实部和虚部两个部分构成:real+imag(虚部后缀为j或J)其中实数部分和虚数部分都为浮点数。
例如定义一个虚数,分别输出它的实部和虚部和共轭复数:

数值类型的转换

python中的不同数值类型大多可以相互转换,要注意的是当将float数值转换成int型时python会舍去小数点后部分,且complex型数值无法转换成int型和float型数值

实例:

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python 列表(List)

下一篇:爬虫,百度搜索热点排行