当你想要快速执行一些数学运算时,可以把 Python 当作一个强大的计算器来使用。你可以打开 Python 的交互式命令行或者使用 ipython 等工具来执行这些计算。
基础示例
使用 Python 作为计算器的示例如下:
# 打开 python 的交互式解释器 # 输入以下命令,并按回车键 # 输出结果
加法
>>> 2 + 3
5减法
>>> 5 - 2
3乘法
>>> 2 * 3
6除法
>>> 6 / 3
2.0取余
>>> 7 % 3
1幂运算
>>> 2 ** 3
8开方
>>> 9 ** 0.5
3.0位移运算
>>> 9 >> 1
4
>>> 5 << 2
20十六进制数转十进制
>>> 0x2c
44十进制数转十六进制
>>> hex(35)
'0x23'对数
>>> import math # 导入math模块
>>> math.log(10) # 计算以e为底的对数
2.302585092994046
>>> math.log(100, 10) # 计算以10为底的对数
2.0三角函数
>>> math.sin(math.pi / 6) # 计算正弦值,注意参数是弧度制
0.49999999999999994
>>> math.cos(math.pi / 3) # 计算余弦值,注意参数是弧度制
0.5000000000000001
>>> math.tan(math.pi / 4) # 计算正切值,注意参数是弧度制
0.9999999999999999角度转换为弧度
>>> math.radians(180) # 将180度转换为弧度制
3.141592653589793弧度转换为角度
>>> math.degrees(math.pi) # 将pi弧度转换为角度制
180.0
推荐技巧
一些使用 Python 作为计算器的技巧:
- 你可以用括号来改变运算的优先级,比如
(2 + 3) * 4
。 - 你可以用变量来存储一些常用的值或者表达式,比如
x = math.pi / 6
。 - 你可以用
print
函数来输出多个值或者表达式的值,比如print(2 + 3, x * y)
。 - 你可以用
eval
函数来直接执行用户输入的数学表达式,但是要注意安全性和有效性的问题。 - 你可以用 fractions 模块或者 decimal 模块来处理分数和小数,比如
fractions.Fraction(1, 3)
或者decimal.Decimal( math.cos(math.pi / 3) )
。 - 你可以用 cmath 模块来处理复数,比如
cmath.sqrt(-1)
,cmath.sqrt(-2j)
。 - 你可以非常方便地进行十六进制和十进制数之间的转换。
- 你可以用
try-except
语句来处理可能出现的错误,比如除以零,输入非法字符等。
科学计算
另一方面,Python 是一种非常适合科学计算的编程语言,它有以下几个优点:
- Python 有丰富的第三方库,比如 NumPy, SciPy, Matplotlib 等,可以提供高效的数值计算、数据分析、可视化等功能。
- Python 有简洁的语法和动态类型,可以让你快速地编写和测试代码,而不需要花费太多时间在编译和调试上。
- Python 有强大的交互式解释器,可以让你在运行时修改和执行代码,方便地探索数据和算法。
如果你想要用 Python 做科学计算,你需要先安装 Python 和一些常用的科学计算库。
你可以选择使用 Anaconda 或者 Miniconda,这是两个专门为科学计算而设计的 Python 发行版,它们包含了大部分你需要的库和工具。
参考文档:
- https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator
- https://docs.python.org/3/library/math.html
- https://docs.python.org/3/library/cmath.html
- https://docs.python.org/3/library/decimal.html
- https://docs.python.org/3/library/fractions.html
PS: 本篇是将旧文整理更新后再发一次。