- SymPy 教程
- SymPy - 首页
- SymPy - 简介
- SymPy - 安装
- SymPy - 符号计算
- SymPy - 数字
- SymPy - 符号
- SymPy - 替换
- SymPy - sympify() 函数
- SymPy - evalf() 函数
- SymPy - Lambdify() 函数
- SymPy - 逻辑表达式
- SymPy - 查询
- SymPy - 简化
- SymPy - 导数
- SymPy - 积分
- SymPy - 矩阵
- SymPy - 函数类
- SymPy - 四元数
- SymPy - 求解器
- SymPy - 绘图
- SymPy - 实体
- SymPy - 集合
- SymPy - 打印
- SymPy 有用资源
- SymPy - 快速指南
- SymPy - 有用资源
- SymPy - 讨论
SymPy - 打印
SymPy 提供了多种打印机。以下是部分列表:
- str
- srepr
- ASCII 美化打印机
- Unicode 美化打印机
- LaTeX
- MathML
- Dot
SymPy 对象也可以作为输出发送到各种语言的代码,例如 C、Fortran、Javascript、Theano 和 Python。
SymPy 使用 Unicode 字符以美化打印的形式呈现输出。如果您使用 Python 控制台执行 SymPy 会话,则通过调用 init_session() 函数可以激活最佳的美化打印环境。
>>> from sympy import init_session >>> init_session()
IPython 控制台,适用于 SymPy 1.5.1(Python 3.7.4-64 位)(基本类型:python)。
执行了以下命令:
>>> from __future__ import division >>> from sympy import * >>> x, y, z, t = symbols('x y z t') >>> k, m, n = symbols('k m n', integer=True) >>> f, g, h = symbols('f g h', cls=Function) >>> init_printing()
文档可在 https://docs.sympy.cn/1.5.1/. 找到。
>>> Integral(sqrt(1/x),x)
$\int \sqrt\frac{1}{x} dx$
如果未安装 LATEX,但已安装 Matplotlib,则它将使用 Matplotlib 渲染引擎。如果未安装 Matplotlib,则它使用 Unicode 美化打印机。但是,Jupyter notebook 使用 MathJax 渲染 LATEX。
在不支持 Unicode 的终端中,使用 ASCII 美化打印机。
要使用 ASCII 打印机,请使用 pprint() 函数并将 use_unicode 属性设置为 False
>>> pprint(Integral(sqrt(1/x),x),use_unicode=False)
Unicode 美化打印机也可以从 pprint() 和 pretty() 访问。如果终端支持 Unicode,则会自动使用它。如果 pprint() 无法检测到终端是否支持 unicode,则可以传递 use_unicode=True 强制其使用 Unicode。
要获取表达式的 LATEX 形式,请使用 latex() 函数。
>>> print(latex(Integral(sqrt(1/x),x)))
\int \sqrt{\frac{1}{x}}\, dx
您也可以使用 mathml 打印机。为此,请导入 print_mathml 函数。字符串版本由 mathml() 函数获得。
>>> from sympy.printing.mathml import print_mathml >>> print_mathml(Integral(sqrt(1/x),x))
<apply>
<int/>
<bvar>
<ci>x</ci>
</bvar>
<apply>
<root/>
<apply>
<power/>
<ci>x</ci>
<cn>-1</cn>
</apply>
</apply>
</apply>
>>>mathml(Integral(sqrt(1/x),x))
'<apply><int/><bvar><ci>x</ci></bvar><apply><root/><apply><power/><ci>x</ci><cn>-1</cn></apply></apply></apply>'