当前位置:首页>python>Python3 数字:编程世界的数学基础

Python3 数字:编程世界的数学基础

  • 2026-09-10 18:08:07
Python3 数字:编程世界的数学基础

Python3 数字:编程世界的数学基础

我是陈默,一个正拼命上岸的码农。

你觉得编程最基础的东西是什么?

不是循环,不是函数,不是类。

是数字。

你算价格、算库存、算时间、算得分——哪一样离得开数字?

今天我们来聊聊 Python 里的数字类型。放心,很简单。


1. 整数:最纯粹的数字

整数就是没有小数点的数:1、100、-50、0。

定义整数

# 正数age = 25print(age)           # 输出: 25# 负数temperature = -10print(temperature)   # 输出: -10# 零count = 0print(count)         # 输出: 0# 大数(Python 整数没有大小限制!)big = 999999999999999999999999999print(big)           # 输出: 999999999999999999999999999

Python 的整数没有上限。 这一点和很多其他语言不一样。

不同进制的整数

# 二进制(以 0b 开头)binary = 0b1010print(binary)        # 输出: 10(二进制 1010 = 十进制 10)# 八进制(以 0o 开头)octal = 0o17print(octal)         # 输出: 15(八进制 17 = 十进制 15)# 十六进制(以 0x 开头)hex_num = 0xFFprint(hex_num)       # 输出: 255(十六进制 FF = 十进制 255)

日常编程用得不多,但面试可能会问。

数字里的下划线

很长的数字,可以用下划线分隔,更易读:

# 这两个是一样的num1 = 1000000num2 = 1_000_000print(num1)          # 输出: 1000000print(num2)          # 输出: 1000000print(num1 == num2)  # 输出: True

2. 浮点数:带小数的数字

浮点数就是小数:3.14、-0.5、2.0。

定义浮点数

# 普通小数price = 19.9print(price)         # 输出: 19.9# 整数后面加 .0 也是浮点数score = 100.0print(score)         # 输出: 100.0# 小数点前或后可以省略num1 = .5# 等于 0.5num2 = 5.# 等于 5.0print(num1)          # 输出: 0.5print(num2)          # 输出: 5.0

科学计数法

处理很大或很小的数时很方便:

# e 表示 10 的多少次方big = 1.5e6# 1.5 × 10⁶print(big)           # 输出: 1500000.0small = 3e-3# 3 × 10⁻³print(small)         # 输出: 0.003

浮点数的精度问题

这是浮点数的一个"坑":

result = 0.1 + 0.2print(result)        # 输出: 0.30000000000000004# 为什么不是 0.3?这是计算机存储浮点数的方式导致的

解决方法: 用 round() 四舍五入

result = 0.1 + 0.2print(round(result, 1))  # 输出: 0.3

3. 数字运算:加减乘除

基本运算

a = 10b = 3print(a + b)     # 输出: 13(加)print(a - b)     # 输出: 7(减)print(a * b)     # 输出: 30(乘)print(a / b)     # 输出: 3.3333333333333335(除,结果是浮点数)

特殊除法

a = 10b = 3# 整除(只保留整数部分)print(a // b)    # 输出: 3# 取余(除法的余数)print(a % b)     # 输出: 1# 幂运算(多少次方)print(a ** b)    # 输出: 1000(10 的 3 次方)

整数除法 vs 浮点除法

# 两个整数相除,结果也是浮点数print(8 / 2)     # 输出: 4.0(不是 4!)# 要得到整数结果,用 //print(8 // 2)    # 输出: 4

4. 内置数学函数

Python 自带了一些常用的数学函数,不用导入任何东西。

绝对值:abs()

print(abs(-5))       # 输出: 5print(abs(5))        # 输出: 5print(abs(-3.14))    # 输出: 3.14

四舍五入:round()

# 不指定小数位数,默认取整print(round(3.4))    # 输出: 3print(round(3.5))    # 输出: 4print(round(3.6))    # 输出: 4# 指定保留几位小数print(round(3.14159, 2))  # 输出: 3.14print(round(3.14159, 3))  # 输出: 3.142

最大最小值:max()、min()

# 可以传多个数字print(max(1, 5, 3, 9, 2))    # 输出: 9print(min(1, 5, 3, 9, 2))    # 输出: 1

幂运算:pow()

# pow(x, y) 等于 x ** yprint(pow(2, 10))    # 输出: 1024(2 的 10 次方)# 可以加第三个参数,对结果取余print(pow(2, 10, 7)) # 输出: 2(1024 % 7 = 2)

求和:sum()

numbers = [1, 2, 3, 4, 5]print(sum(numbers))  # 输出: 15

5. 类型判断和转换

判断类型

a = 10b = 3.14print(type(a))       # 输出: <class 'int'>print(type(b))       # 输出: <class 'float'># 判断是否是某种类型print(isinstance(a, int))     # 输出: Trueprint(isinstance(b, int))     # 输出: Falseprint(isinstance(b, float))   # 输出: True

类型转换

# 整数转浮点数print(float(10))         # 输出: 10.0# 浮点数转整数(直接截断小数)print(int(3.9))          # 输出: 3(不是 4!)# 字符串转数字print(int("123"))        # 输出: 123print(float("3.14"))     # 输出: 3.14

6. 实用技巧

交换两个数

a = 5b = 10# Python 的方式,不需要临时变量a, b = b, aprint(a)            # 输出: 10print(b)            # 输出: 5

判断奇偶

num = 7if num % 2 == 0:    print("偶数")else:    print("奇数")# 输出: 奇数

判断能否整除

num = 15# 能否被 3 整除print(num % 3 == 0)     # 输出: True# 能否被 5 整除print(num % 5 == 0)     # 输出: True# 能否同时被 3 和 5 整除print(num % 3 == 0and num % 5 == 0)  # 输出: True

数字格式化输出

price = 19.9# 保留 2 位小数print(f"价格:{price:.2f}元")    # 输出: 价格:19.90元# 加千分位big_num = 1234567print(f"{big_num:,}")            # 输出: 1,234,567# 百分比ratio = 0.856print(f"完成度:{ratio:.1%}")    # 输出: 完成度:85.6%

7. 常见错误

整数除以 0

# print(10 / 0)   # ZeroDivisionError! 会报错

除法之前,先检查除数是否为 0。

混用整数和浮点数

# 整数和浮点数运算,结果是浮点数result = 10 + 3.0print(result)           # 输出: 13.0print(type(result))     # 输出: <class 'float'>

这通常不是问题,但要注意。


最后

数字是编程的基础。价格、数量、分数、时间——几乎所有程序都离不开数字。

记住三点:

  1. Python 整数没有大小限制
  2. 浮点数有精度问题,比较时用 round() 或判断差值是否足够小
  3. 除法 / 返回浮点数,整除用 //

我的建议:

打开 Python,把这些代码敲一遍。自己造几个数字,做做运算,看看结果。

数学不好没关系,编程用到的数学很简单。

今天就到这里。

我是陈默,我们下期再见。


如果你觉得这篇文章有帮助,欢迎关注我。我会持续分享 Python 学习的干货。

最新文章

随机文章