Программирование и научные вычисления на языке Python/§19: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 629:
{p_: -1}
</source>
 
 
 
== Печать ==
 
Существует несколько способов того как выражения могут быть выведены на экран.
 
 
=== Стандартный print ===
 
Привычный вывод <tt>str(expression)</tt>:
 
<source lang="python">
>>> from sympy import Integral
>>> from sympy.abc import x
>>> print x**2
x**2
>>> print 1/x
1/x
>>> print Integral(x**2, x)
Integral(x**2, x)
</source>
 
 
=== Pretty printing ===
 
Формат, по которому работает isympy по умолчанию в виде псевдографического ascii-форматирования. Немного больше примеров [http://wiki.sympy.org/wiki/Pretty_Printing здесь].
 
<source lang="python">
>>> from sympy import Integral, pprint
>>> from sympy.abc import x
>>> pprint(x**2)
2
x
>>> pprint(1/x)
1
-
x
>>> pprint(Integral(x**2, x))
/
|
| 2
| x dx
|
/
</source>
 
 
Для того, чтобы сделать pprint по умолчанию в стандартном интерпретаторе, производим следующую процедуру:
 
 
<source lang="python">
>>> from sympy import *
>>> import sys
>>> sys.displayhook = pprint
>>> var("x")
x
>>> x**3/3
3
x
--
3
>>> Integral(x**2, x)
/
|
| 2
| x dx
|
/
</source>
 
 
 
=== Python printing ===
 
<source lang="python">
>>> from sympy.printing.python import python
>>> from sympy import Integral
>>> from sympy.abc import x
>>> print python(x**2)
x = Symbol('x')
e = x**2
>>> print python(1/x)
x = Symbol('x')
e = 1/x
>>> print python(Integral(x**2, x))
x = Symbol('x')
e = Integral(x**2, x)
</source>
 
 
 
=== LaTeX printing ===
 
[[w:LaTeX|LaTeX]] — наиболее популярный набор макрорасширений системы компьютерной вёрстки TeX, который облегчает набор сложных документов.
 
 
<source lang="python">
>>> from sympy import Integral, latex
>>> from sympy.abc import x
>>> latex(x**2)
x^{2}
>>> latex(x**2, mode='inline')
$x^{2}$
>>> latex(x**2, mode='equation')
\begin{equation}x^{2}\end{equation}
>>> latex(x**2, mode='equation*')
\begin{equation*}x^{2}\end{equation*}
>>> latex(1/x)
\frac{1}{x}
>>> latex(Integral(x**2, x))
\int x^{2}\,dx
</source>
 
 
=== MathML ===
[[w:MathML|MathML]] (от англ. Mathematical Markup Language, язык математической разметки) — это приложение XML, используемое для представления математических символов и формул в документах WWW. MathML рекомендован математической группой W3C.
 
<source lang="python">
>>> from sympy.printing.mathml import mathml
>>> from sympy import Integral, latex
>>> from sympy.abc import x
>>> print mathml(x**2)
<apply><power/><ci>x</ci><cn>2</cn></apply>
>>> print mathml(1/x)
<apply><power/><ci>x</ci><cn>-1</cn></apply>
</source>
 
 
=== sympy.printing ===
''Продолжение следует...''
 
 
Кроме того доступен модуль <tt>sympy.printing</tt>. Методы printing, доступные в этом модуле:
 
* <tt>pretty(expr), pretty_print(expr), pprint(expr)</tt>: возвращают <tt>expr</tt> в pretty-формате, как показано выше;
* <tt>latex(expr), print_latex(expr)</tt>: возвращают <tt>expr</tt> в LaTeX представлении;
* <tt>mathml(expr), print_mathml(expr)</tt>: то же для MathML;
* <tt>print_gtk(expr)</tt>: выводит <tt>expr</tt> в Gtkmathview — GTK виджет, показывающий MathML код.
 
== Ссылки ==