如何在 Python REPL 中进行数学运算

PythonBeginner
立即练习

简介

Python 通过其读取-求值-打印循环(REPL)为数学计算提供了一个交互式且强大的环境。本教程将探讨程序员和数据爱好者如何利用 Python 的内置数学功能和高级库来快速有效地执行复杂计算。

Python REPL 基础

什么是 REPL?

REPL 代表读取-求值-打印循环(Read-Eval-Print Loop),这是一个交互式编程环境,在其中你可以:

  • 输入 Python 命令
  • 立即查看结果
  • 交互式地试验代码

启动 Python REPL

在 Ubuntu 22.04 上,你可以通过多种方式启动 Python REPL:

## 方法 1:标准 Python REPL
python3

## 方法 2:IPython(增强的交互式 shell)
ipython3

基本数学运算

在 Python REPL 中,你可以立即进行数学计算:

## 加法
>>> 5 + 3
8

## 减法
>>> 10 - 4
6

## 乘法
>>> 6 * 7
42

## 除法
>>> 15 / 3
5.0

## 整数除法
>>> 17 // 5
3

## 取模
>>> 17 % 5
2

## 幂运算
>>> 2 ** 3
8

REPL 的特殊功能

下划线变量

下划线 _ 存储最后打印的表达式:

>>> 5 + 3
8
>>> _ * 2
16

多个表达式

你可以链接多个表达式:

>>> x = 10
>>> y = 5
>>> x + y
15

退出 REPL

## 方法 1:使用 exit() 函数

## 方法 2:键盘快捷键(Ctrl + D)

最佳实践

实践 描述
使用 Tab 补全 自动补全变量和方法
使用 dir() 探索可用方法
使用 help() 获取函数文档

LabEx 提示

LabEx 建议通过练习 REPL 来进行快速的 Python 实验和学习。

数学计算

基本算术运算

标准运算符

Python 支持标准的数学运算符:

## 加法
>>> 10 + 5
15

## 减法
>>> 20 - 8
12

## 乘法
>>> 6 * 7
42

## 除法
>>> 15 / 3
5.0

## 整除
>>> 17 // 5
3

## 取模
>>> 17 % 5
2

## 幂运算
>>> 2 ** 3
8

高级数学函数

使用 math 模块

>>> import math

## 平方根
>>> math.sqrt(16)
4.0

## 三角函数
>>> math.sin(math.pi/2)
1.0

## 对数函数
>>> math.log(10)
2.302585092994046

复数计算

## 复数运算
>>> (3 + 4j) * (2 - 1j)
(14 + 5j)

>>> abs(3 + 4j)
5.0

精度与舍入

## 舍入
>>> round(3.7)
4

>>> round(3.2)
3

## 十进制精度
>>> from decimal import Decimal
>>> Decimal('1.1') + Decimal('2.2')
Decimal('3.3')

数学常数

>>> import math

## 常见数学常数
>>> math.pi
3.141592653589793

>>> math.e
2.718281828459045

数学运算比较表

运算 符号 示例 结果
加法 + 10 + 5 15
减法 - 20 - 8 12
乘法 * 6 * 7 42
除法 / 15 / 3 5.0
整除 // 17 // 5 3
取模 % 17 % 5 2
幂运算 ** 2 ** 3 8

数学计算过程流程图

graph TD A[开始] --> B[输入数字] B --> C{选择运算} C --> |加法| D[相加数字] C --> |减法| E[相减数字] C --> |乘法| F[相乘数字] C --> |除法| G[相除数字] D --> H[显示结果] E --> H F --> H G --> H H --> I[结束]

LabEx 建议

LabEx 建议定期练习这些计算,以培养使用 Python 进行数学编程的技能。

数学库探索

标准数学库

导入与基本用法

>>> import math

## 三角函数
>>> math.sin(math.pi/2)
1.0

## 对数函数
>>> math.log(10)
2.302585092994046

## 取整函数
>>> math.ceil(4.3)
5

>>> math.floor(4.7)
4

NumPy:高级数值计算

安装与导入

## 安装 NumPy
$ pip3 install numpy
>>> import numpy as np

## 数组运算
>>> np.array([1, 2, 3]) * 2
array([2, 4, 6])

## 统计函数
>>> data = [1, 2, 3, 4, 5]
>>> np.mean(data)
3.0

>>> np.median(data)
3.0

SciPy:科学计算

安装与高级计算

## 安装 SciPy
$ pip3 install scipy
>>> from scipy import stats

## 统计分布
>>> stats.norm.pdf(0, loc=0, scale=1)
0.3989422804014327

## 积分
>>> from scipy import integrate
>>> integrate.quad(lambda x: x**2, 0, 1)
(0.33333333333333337, 3.700743415417189e-15)

Sympy:符号数学

符号计算

>>> from sympy import symbols, diff

## 定义符号变量
>>> x = symbols('x')

## 符号求导
>>> diff(x**2, x)
2*x

## 方程求解
>>> from sympy import solve
>>> solve(x**2 - 4, x)
[-2, 2]

数学库比较

专长 关键特性
math 基础数学 三角函数、对数
NumPy 数值计算 数组运算、统计
SciPy 科学计算 高等数学、积分
SymPy 符号数学 方程求解、符号运算

库选择流程图

graph TD A[开始] --> B{数学任务} B --> |基础计算| C[math库] B --> |数值数组| D[NumPy] B --> |科学计算| E[SciPy] B --> |符号运算| F[SymPy] C --> G[结束] D --> G E --> G F --> G

安装最佳实践

## 推荐的安装方法
$ pip3 install numpy scipy sympy

LabEx学习提示

LabEx建议逐步探索这些库,从基础数学库开始,再进阶到更复杂的库。

总结

通过了解 Python REPL 的数学功能,开发者能够无缝地执行数值运算、利用高级数学库并提升他们的计算技能。本教程展示了 Python 在处理数学任务方面的灵活性,使其成为科学计算、数据分析和解决数学问题的重要工具。