0


Python中的数值类型

Python中的数值类型

Python 支持三种不同的数值类型(数字数据类型):

整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。

浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

特别说明

☆ 整数和浮点数由存在或不存在小数点区别:5是整数,而5.0是浮点数。复数以形式书写x + yj,其中x是实部,y是虚部。

☆ 整数可以是任意长度,但浮点数最多只能精确到15个小数位(第16位不准确)。

123456789123456789123456789*1000

123456789123456789123456789.0*1000

【大整数运算,在C/C++中需要自己实现,在JAVA中有BigInteger可以很快处理大整数运算。在Python中,大整数运算显得尤其简单,不用考虑溢出!】

☆ 人们习惯的是十进制(以10为底)的数字系统。计算机使用二进制(Binary,基数2),程序员使用十六进制(Hexadecimal,基数16)和八进制(Octal,基数8)的数字系统。其前缀如下表

Binary '0b'或'0B'

Octal '0o'或'0O'

Hexadecimal '0x'或'0X'

注:前缀中的0是数字零

如:0xFB + 0b10,用十进制表示为251 + 2

☆ 可以使用type()函数来判断变量或值属于哪种数据类型,并且可以使用函数isinstance()检查它是否属于特定的类型。例如:

☆ Python 数值类型转换

如果操作数之一是浮点数,则加法,减法等操作会强制整数隐式(自动)转换为浮点。

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

int() 转换为一个整数,例如:

float() 转换到一个浮点数,例如:

complex(x [,y]) 为 x +yj 的复数,或将字符串或数字转换为复数。

complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0;complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。例如:

【关于内置函数type()、isinstance()、int()、float()、complex() 详情可参见https://docs.python.org/zh-cn/3/library/functions.html

☆ 对于浮点数需要注意存在舍入误差,例如:

这是因为,对于浮点数几乎所有的编程语言都采用了 IEEE-745 浮点数表示法,任何使用二进制浮点数的编程语言都会有这个问题,只不过在很多语言中已经封装好了方法来避免精度的问题。Python也不例外。

在涉及浮点数的算法中,要注意不能直接用等号判断两个浮点数是否相等,这里已python为例:

在Python的math中的isclose()方法用于确定两个浮点数的值是否接近, 如果值接近则返回True,否则返回False。要使用此功能,您必须导入数学模块math。

语法格式:

math.isclose(a,b,rel_tol,abs_tol)

参数 说明

a 必需的参数, 检查紧密度的第一个值

b 必需的参数, 检查紧密度的第二个值

rel_tol=value 可选的。 相对公差。 它是值a和b之间的最大允许差。 默认值为1e-09

abs_tol=value 可选的。最小绝对公差。它用于比较接近0的值。该值必须至少为0

【decimal 模块为快速正确舍入的十进制浮点运算提供支持:

https://docs.python.org/zh-cn/3/library/decimal.html#module-decimal

Python通过其fractions模块提供涉及小数的运算:

https://docs.python.org/zh-cn/3/library/fractions.html

标签: python

本文转载自: https://blog.csdn.net/cnds123/article/details/120160112
版权归原作者 软件开发技术爱好者 所有, 如有侵权,请联系我们删除。

“Python中的数值类型”的评论:

还没有评论