python中浮點數用`float`表示,它與數學中實數的概念一致,簡單理解為小數。
與整數一樣,浮點數可以直接使用,看下面的代碼。
```python
>>> pai = 3.14
>>> type(pai)
float
```
## 浮點數的表現形式
在python中浮點數最常見的表示形式是`a.b`的格式,也可以表示為科學計算法。例如:
```python
>>> a = 0.0 # 注意浮點數0和整數0是不一樣的
>>> b = 9.5e-2 # 科學計算法
>>> c = .55 # 整數部分為0可以省略
>>> d = 78. # 小數部分為0也可以省略
>>> e = .0 # 所以浮點數0也可以這樣寫
>>> f = 0. # 同樣也可以這樣寫
>>> g = -0.1 # 當然也有負數
```
我們可以看到浮點數其實可以表示所有的整數,python為何要同時提供兩種數據類型呢?
因為計算機表示整數和浮點數的方式不同,相同操作整數要比浮點數快5-20倍。
## 浮點數的不準確性
python提供無限制且準確的整數計算,浮點數計算卻是不精確的,例如:
```python
>>> 0.2 + 0.1
0.30000000000000004
```
普通計算機只能提供15數字的準確性,浮點數在超過15位數字計算中產生的誤差與計算機內部采用二進制運算有關。
```python
import sys
print(sys.float_info.dig)
15
```
思考:
```python
3.1415926535897924*1.23456789
```
的計算怎么準確?
## 浮點數和整數的相互轉化
`int`,`float`是python的內置函數,通過它們可以對浮點數類型和整數類型相互轉化。
浮點數轉化為整數
```python
>>> a = 1.9
>>> b = int(a) # 通過int函數,提取浮點數的整數部分
>>> print(b, type(b))
1 <class 'float'>
```
整數轉化為浮點數
```python
>>> c = 2
>>> d = float(c) # 通過float函數,將整數轉化為小數部分為0的浮點數
>>> print(d, type(d))
2.0 <class 'float'>
```
## 復數
普通的計算很少用到復數,了解即可。
```python
>>> a = 12.3 + 4j # 復數
>>> print(a, type(a))
(12.3+4j) <class 'complex'>
>>> print(a.real) # 打印實部
12.3
>>> print(a.imag) # 打印虛部
4.0
```
- 第1章 編程基礎
- 零基礎能學Python嗎?
- 編程語言是什么
- 編譯型與解釋型編程語言的區別
- python是什么?
- 學python能干什么?
- 第2章 python開發環境搭建
- windows下安裝python
- cmd命令行工具
- 環境變量如何設置?
- 如何運行python程序?
- 學習神器Jupyter lab
- 第3章 基本數據類型
- 基本數據類型概述
- 變量的定義和使用
- 整數類型
- 浮點數類型
- 算術運算符
- 賦值運算符
- 字符串類型
- 字符串常用方法
- 字符串格式化
- 列表類型
- 元組類型
- 可變與不可變類型
- 深淺拷貝
- 集合類型
- 字典類型
- 布爾型
- NoneType
- 第4章 程序流程控制
- 程序結構
- if分支語句
- while條件循環
- for循環
- 循環控制關鍵字
- 異常處理
- 第5章函數與代碼復用
- 函數的定義和調用
- 函數的參數
- 函數的返回值
- lambda函數
- 變量作用域
- python內建函數
- 第6章 面向對象
- 類和對象
- 屬性
- 方法
- 繼承
- super()函數
- 多態
- 私有化
- 自省與反射機制
- 第7章 模塊和包
- 模塊
- 包
- 第三方庫
- 第8章 文件IO操作
- 文件概述
- 字符編碼
- 字節類型
- python讀取文件
- python寫文件
- 文件指針