Python中的数值类型 |
您所在的位置:网站首页 › python中整数类型 › 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 】 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |