浮点数用来表示实数信息。
在解释器中键入下面的代码:
a = 0.0
print('a的类型为:', type(a))
# 运行结果:a的类型为: <class 'float'>
python中float表示浮点数类型。
1. 浮点数的表现形式
在python中浮点数可以表示为a.b
的格式,也可以表示为小写或大写E
的科学计算法。例如:
a = 0.0
print('a的类型为:', type(a))
# 运行结果:a的类型为: <class 'float'>
b = 76.
print('b的类型为:', type(b))
# 运行结果:b的类型为: <class 'float'>
c = -3.1415926
print('c的类型为:', type(c))
# 运行结果:c的类型为: <class 'float'>
d = 9.5e-2
print('d的类型为:', type(d))
# 运行结果:d的类型为: <class 'float'>
注意:76.
虽然小数部分为0,但是它的数据类型为float。
2.数学运算符
与数学中的常用运算符一致
运算符 | 描述 |
---|---|
+ |
加法运算符 1+1 |
- |
减法运算符 3-2 |
* |
乘法运算符 9*9 |
/ |
除法运算符 9/3 ,除法运算后的结果一定为float 类型 |
// |
整除运算符 10/3 ,也称为地板除 向下取整 |
% |
取模运算符 10%3 ,表示10除以3取余数 |
** |
幂次运算符 2**3 ,表示2的3次幂 |
() |
括号运算符,括号内的表达式先运算 (1+2)* 3 |
3. 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 等于-简单的赋值 | c = a + b print(c) # 30 |
+= | 加等于 | c += a等同于c = c + a |
-= | 减等于 | c -= a等同于c = c - a |
*= | 乘等于 | c *= a等同于c = c * a |
/= | 除等于 | c /= a等同于c = c/a |
%= | 取余等于 | c%=a等同于c = c%a |
**= | 幂等于 | c ** =a等同于c = c ** a |
//= | 取整除等于 | c//=a等同于c = c//a |
体现了程序员的"懒惰",这种懒惰大力提倡,使得代码简洁和高效。
4.浮点数的不精确性
整数和浮点数在计算机中的表示不同,python提供无限制且准确的整数计算,浮点数却是不精确的,例如在解释器中输入:
>>> 0.2+0.1
0.30000000000000004
计算机只能提供15个数字的准确性。浮点数在超过15位数字计算中产生的误差与计算机内部采用二进制运算有关。
思考:
3.1415926535897924*1.23456789 的计算怎么准确
拓展:高精度浮点运算类型
import decimal [ˈdesɪml]
a = decimal.Decimal('3.1415926535897924')
b = decimal.Decimal('1.23456789')
print(a * b)
思考:
浮点数可以表示所有的整数数值,python为何要同时提供两种数据类型?
相同的操作整数要比浮点数快5-20倍
5.浮点数和整数的相互转化
通过int
,float
整数和浮点数的类名可以进行数据类型的转化。
a = 1.9
# 转化为整数
# 通过调用int,提取浮点数的整数部分
b = int(a)
print(b, type(b))
c = 2
# 转化为浮点数
# 通过调用float,将整数转化为小数部分为0的浮点数
d = float(c)
print(d, type(d))