数字的处理
Python的两种数字类型:
1. 整形数字: int. (任意精度整数,范围可为仁和大小)
a = 2 ** 1000 # 2的1000次方
数字结尾的”L”表示long类型的证书,即“内部长格式”.处理long类型的时候 ,效率要比处理普通整数低很多。超过20亿时将为长格式类型数字。
Long类型数字参与运算时,结果无论大小都为long类型,即以L结尾
2. 浮点类型数字(float)
浮点数字用以描述实数。Python以IEEE浮点数标准表示浮点类型数字。
科学计数法:数字为尾数(mantissa,或称作有理数)和指数的形式(exponent)。底数范围为: 1<=mantissa<2. 指数范围为-1022到1023.此范围与计算机字长相关。(64位)。
存储浮点数的方式:1位表示符号(正负),11位表示指数,剩余表示尾数。
浮点数的表示精度可达到17位小数。(python无法表示超出17位精度的小数)
Python打印时会调用内建函数repr(representation), 函数将数字转换为字符串并打印。对于浮点数,四舍五入到17位的精度。因此使用表示而不是计算时,可使用print。
对于浮点数使用“==”符号
Import math #引用math包
a = math.sqrt(2)
a*a == 2 #??此处由于计算误差的积累,a*a并不等于2
逐次接近(successive approximation): 在循环中,保证每次猜想比原来要好。
一般形式:
循环开始:
判断误差
如误差范围内满足,返回,否则继续循环
如达到最大尝试次数,退出。
Assert:断言,assert x > 0, 检验x是否大于0,是则继续执行,否则中断退出