由于浮点数无法用二进制精确表示,因此出现精度丢失,本文介绍的方法计算不准确的结果也是由精度丢失导致
目录
1 没什么用的函数
1.1 实例化调用其他方法后自动调用 __getattribute__()
1.2 实例化后,在__init__前自动调用
1.3 在自身前加一个+号 __pos__()
2 不常用的
2.1 反向相加 __radd__()
2.2 将浮点数转变为字符串 __repr__()
2.3 返回浮点数相加的值 __add__()
2.4 返回浮点数的布尔量 __bool__()
2.5 相等返回True,否侧返回False __eq__()
2.6 将变量转换为浮点数类型 __float__()
2.7 整除后返回除数 __floordiv__()
2.8 大于等于 __ge__()
2.9 大于__gt__()
2.10 返回哈希值 __hash__()
2.11 将浮点数转换为int __int__()
2.12 小于等于 __le__()
2.13 小于 __lt__()
2.14 取余 __mod__()
2.15 乘积 __mul__()
2.16 不等于 __ne__()
2.17 返回相反数 __neg__()
2.18 幂计算 __pow__()
2.19 返回反向相除元组 __rdivmod__()
2.20 反向整除后返回商 __rfloordiv __()
2.21 反向取余 __rmod__()
2.22 四舍五入 __round__()
2.23 反向幂运算 __rpow__()
2.24 反向相减 __rsub__()
2.25 反向返回商 __rtruediv__()
2.26 将变量转变为字符串 __str__()
2.27 变量相减 __sub__()
2.28 返回商 __truediv__()
2.29 取整 __trunc__()
2.30 返回共轭复数 conjuate()
2.31 获取格式 __getformat__()
2.32 设置格式 __setformat__()
2.32.1 double - IEEE, little-endian
2.32.2 double - IEEE,big-endian
2.32.3 double - unknown
2.32.4 float - IEEE,little-endian
2.32.5 float - IEEE,big-endian
2.32.6 float - unknown
3 偶尔能用到的函数
3.1 创建一个浮点数 float()
3.2 返回浮点数的绝对值 __abs__()
3.3 返回一个元组,元组的第一个值为除数,第二个值为余数 __divmod__()
3.4 设置为指定格式 __format__()
3.5 将浮点数转变为元组类型变量 __getnewargs__()
3.6 生成一个元组,元组中两数相除为指定变量 as_inter_ratio()
3.7 将十六进制数字转换为10进制数字 fromhex()
3.8 返回16进制表示方法 hex()
3.9 是否为整数 is_integer()
4 最后的两个定义
4.1 虚部
4.2 实部
我们可以看到double类型的只能对应unknown或者检测到的平台值
__format__()中介绍的内容在Python int基本用法与python str基本用法有介绍过