浮點數用來表示實數信息。
在解釋器中鍵入下面的代碼:
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))