Python中的数值类型

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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虚数部分为 0complex(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.iscloseabrel_tolabs_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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python