GEEK
← 返回首页

如何使用整数(int)和浮点数(float)?

#随笔

整数(int)和浮点数(float)是 Python 中最常用的数字类型,可以进行加、减、乘、除、取模、整除和幂运算等数学计算。Python 会在整数与浮点数混合运算时自动将结果转换为浮点数。此外,还可以使用 int()、float()、round()、abs() 和 pow() 等内置函数进行类型转换和数值处理。

如何使用整数(int)和浮点数(float)?

数字是程序中最常见的数据之一。

例如:

  • 年龄
  • 成绩
  • 商品价格
  • 身高
  • 温度
  • 数量

在 Python 中,数字主要分为两种类型:

  • 整数(Integer,int
  • 浮点数(Floating Point Number,float

学习它们后,你就可以编写各种数学计算程序。


什么是整数(int)?

整数(int)表示:

没有小数部分的数字。

例如:

10
0
-5

都是整数。

创建整数变量:

my_int = 56

print(my_int)

输出:

56

查看类型:

print(type(my_int))

输出:

<class 'int'>

什么是浮点数(float)?

浮点数(float)表示:

带有小数部分的数字。

例如:

3.14
0.5
-12.0

都是浮点数。

例如:

price = 5.4

print(type(price))

输出:

<class 'float'>

基本算术运算

Python 支持常见的数学运算。

运算 运算符 示例
加法 + 3 + 2
减法 - 3 - 2
乘法 * 3 * 2
除法 / 3 / 2

加法(+)

整数:

a = 56
b = 12

print(a + b)

输出:

68

浮点数:

x = 5.4
y = 12.0

print(x + y)

输出:

17.4

减法(-)

整数:

print(56 - 12)

输出:

44

浮点数:

print(12.0 - 5.4)

输出:

6.6

乘法(*)

整数:

print(12 * 4)

输出:

48

浮点数:

print(12.0 * 5.4)

输出:

64.80000000000001

这里可能会发现:

64.80000000000001

而不是:

64.8

这是浮点数精度问题,后面会解释原因。


除法(/)

除法始终使用:

/

例如:

print(56 / 12)

输出:

4.666666666666667

即使:

56

和:

12

都是整数,

只要使用:

/

结果就是:

浮点数。


整数与浮点数混合运算

如果:

整数和浮点数一起计算。

例如:

my_int = 56
my_float = 5.4

print(my_int + my_float)

输出:

61.4

查看类型:

print(type(my_int + my_float))

输出:

<class 'float'>

Python 会自动:

把整数提升(转换)为浮点数,再进行计算。

不仅加法如此,

减法、乘法、除法也是一样。


取模运算(%)

取模(Modulo)表示:

计算除法后的余数。

使用:

%

例如:

print(56 % 12)

输出:

8

因为:

56 ÷ 12 = 4 …… 8

所以:

余数就是:

8

浮点数也可以使用:

print(12.0 % 5.4)

输出:

1.1999999999999993

整除(//)

整除(Floor Division)表示:

只保留除法结果的整数部分(向下取整)。

使用:

//

例如:

print(56 // 12)

输出:

4

因为:

56 ÷ 12 = 4.666...

向下取整得到:

4

浮点数:

print(12.0 // 5.4)

输出:

2.0

幂运算(**)

幂运算表示:

一个数的多少次方。

使用:

**

例如:

print(2 ** 3)

输出:

8

因为:

2 × 2 × 2

等于:

8

再例如:

print(5 ** 2)

输出:

25

为什么浮点数有很多小数?

很多初学者都会发现:

print(0.1 + 0.2)

输出:

0.30000000000000004

而不是:

0.3

这是因为:

计算机内部使用**二进制(Binary)**存储数字。

有些十进制小数(例如 0.10.2)无法用有限位二进制精确表示,只能保存一个非常接近的近似值,因此计算后可能出现微小误差。

这属于所有现代计算机都会遇到的问题,并不是 Python 的错误。


float() —— 转换为浮点数

float() 的作用:

将数据转换为浮点数。

例如:

num = 56

result = float(num)

print(result)

输出:

56.0

类型:

<class 'float'>

int() —— 转换为整数

int() 的作用:

将数据转换为整数。

例如:

num = 12.92563

print(int(num))

输出:

12

注意:

int() 不会四舍五入,而是直接去掉小数部分(截断)。

例如:

print(int(9.99))

输出:

9

字符串转换为数字

如果字符串表示的是合法数字,

也可以转换。

例如:

text = "45"

print(int(text))

输出:

45

浮点数:

text = "7.8"

print(float(text))

输出:

7.8

注意:

字符串内容必须是合法数字,否则会报错。

例如:

int("hello")

会产生 ValueError


round() —— 四舍五入

作用:

将数字四舍五入。

例如:

print(round(4.798))

输出:

5

也可以指定保留的小数位数:

print(round(4.253, 1))

输出:

4.3

语法:

round(数字, 保留位数)

abs() —— 绝对值

作用:

返回一个数字的绝对值。

例如:

print(abs(-15))

输出:

15

绝对值就是:

去掉正负号后的数值大小。


pow() —— 幂运算函数

pow() 与:

**

作用基本相同。

例如:

print(pow(2, 3))

输出:

8

等价于:

print(2 ** 3)

还支持第三个参数:

pow(2, 3, 5)

表示:

(2³) % 5

计算过程:

8 % 5

结果:

3

常见数字运算符速查表

运算符 名称 示例 结果
+ 加法 5 + 2 7
- 减法 5 - 2 3
* 乘法 5 * 2 10
/ 除法 5 / 2 2.5
% 取模 5 % 2 1
// 整除 5 // 2 2
** 幂运算 5 ** 2 25

常用数字函数速查表

函数 作用 示例
int() 转换为整数 int(3.8)3
float() 转换为浮点数 float(5)5.0
round() 四舍五入 round(3.1415, 2)3.14
abs() 求绝对值 abs(-8)8
pow() 幂运算 pow(2, 3)8

常见错误

❌ 认为 int() 会四舍五入

错误理解:

int(9.9)

结果:

10

实际上:

输出:

9

因为:

int() 只是去掉小数部分,不会四舍五入。


❌ 浮点数比较结果不准确

例如:

0.1 + 0.2

输出:

0.30000000000000004

这是计算机浮点数表示方式导致的正常现象,并不是程序出错。


学习小结

知识点 说明
整数(int 没有小数部分的数字。
浮点数(float 带有小数部分的数字。
混合运算 intfloat 运算时,结果自动转换为 float
常见运算符 +-*/%//**
类型转换 int()float() 可在数字和数字字符串之间进行转换。
数值处理函数 round() 四舍五入,abs() 求绝对值,pow() 求幂。
浮点数误差 某些小数无法被二进制精确表示,因此计算结果可能出现微小误差。

总结

  • 整数(int)和浮点数(float)是 Python 中最常用的两种数字类型,可用于各种数学计算。
  • Python 支持加、减、乘、除、取模、整除和幂运算等丰富的算术操作,并能自动处理整数与浮点数的混合运算。
  • 使用 int()float() 可以完成类型转换,round()abs()pow() 则可以帮助完成常见的数值处理任务。
  • 理解浮点数精度误差及其产生原因,有助于正确处理涉及小数的计算,是学习科学计算和数据分析的重要基础。