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写文件
- 文件指针