Như chúng ta đã thấy, SymPy có thể in đầu ra của nó bằng các ký tự Unicode. Đây là phần giới thiệu ngắn về các tùy chọn in phổ biến nhất có sẵn trong SymPy
Máy in#
Có một số máy in có sẵn trong SymPy. Những cái phổ biến nhất là
str
srepr
máy in đẹp ASCII
Máy in Unicode đẹp
Mủ cao su
toán học
chấm
Ngoài những thứ này, còn có những “máy in” có thể xuất các đối tượng SymPy thành mã, chẳng hạn như C, Fortran, Javascript, Theano và Python. Những điều này không được thảo luận trong hướng dẫn này
Thiết lập bản in đẹp#
Nếu tất cả những gì bạn muốn là bản in đẹp nhất, hãy sử dụng hàm
>>> from sympy import init_session >>> init_session[]2. Điều này sẽ tự động kích hoạt máy in tốt nhất hiện có trong môi trường của bạn
>>> from sympy import init_printing >>> init_printing[]
Nếu bạn dự định làm việc trong phiên kiểu máy tính tương tác, hàm
>>> from sympy import init_session >>> init_session[]3 sẽ tự động nhập mọi thứ trong SymPy, tạo một số Ký hiệu phổ biến, thiết lập sơ đồ và chạy
>>> from sympy import init_session >>> init_session[]2
>>> from sympy import init_session >>> init_session[]Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org>>>
Trong mọi trường hợp, đây là những gì sẽ xảy ra
Trong IPython QTConsole, nếu \[\mathrm{\LaTeX}\] được cài đặt, nó sẽ kích hoạt máy in sử dụng < . \[\mathrm{\LaTeX}\].
Nếu \[\mathrm{\LaTeX}\] chưa được cài đặt, nhưng Matplotlib đã được cài đặt, thì nó sẽ sử dụng công cụ kết xuất Matplotlib. Nếu Matplotlib chưa được cài đặt, nó sử dụng máy in khá Unicode.
Trong sổ tay IPython, nó sẽ sử dụng MathJax để kết xuất \[\mathrm{\LaTeX}\] .
Trong phiên bảng điều khiển IPython hoặc phiên Python thông thường, nó sẽ sử dụng máy in đẹp Unicode nếu thiết bị đầu cuối hỗ trợ Unicode
Trong một thiết bị đầu cuối không hỗ trợ Unicode, máy in đẹp ASCII được sử dụng
Để rõ ràng không sử dụng \[\mathrm{\LaTeX}\] , hãy chuyển
>>> from sympy import init_session >>> init_session[]5 đến
>>> from sympy import init_session >>> init_session[]2 hoặc
>>> from sympy import init_session >>> init_session[]3. Để rõ ràng không sử dụng Unicode, hãy vượt qua
>>> from sympy import init_session >>> init_session[]8.
Chức năng in #
Ngoài việc in tự động, bạn có thể sử dụng rõ ràng bất kỳ máy in nào bằng cách gọi chức năng thích hợp
str#
Để có dạng chuỗi của một biểu thức, hãy sử dụng
>>> from sympy import init_session >>> init_session[]9. Đây cũng là hình thức được sản xuất bởi
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org0. Biểu mẫu chuỗi được thiết kế để dễ đọc, nhưng ở dạng đúng cú pháp Python để có thể sao chép và dán. Dạng
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org1 của một biểu thức thường trông giống hệt như biểu thức mà bạn nhập vào
>>> from sympy import init_printing >>> init_printing[]4
srepr#
Dạng srepr của một biểu thức được thiết kế để hiển thị dạng chính xác của một biểu thức. Nó sẽ được thảo luận nhiều hơn trong phần Thao tác biểu thức nâng cao . Để lấy nó, hãy sử dụng
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org2 [ 1 ] .
>>> from sympy import init_printing >>> init_printing[]6
Biểu mẫu srepr chủ yếu hữu ích để hiểu cách một biểu thức được xây dựng bên trong
Máy in ASCII đẹp #
Máy in đẹp ASCII được truy cập từ
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org3. Nếu thiết bị đầu cuối không hỗ trợ Unicode, máy in ASCII được sử dụng theo mặc định. Nếu không, bạn phải vượt qua
>>> from sympy import init_session >>> init_session[]8
>>> from sympy import init_printing >>> init_printing[]9
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org3 in kết quả ra màn hình. Nếu bạn muốn dạng chuỗi, hãy sử dụng
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org6
>>> from sympy import init_session >>> init_session[]2
Máy in Unicode đẹp #
Máy in đẹp Unicode cũng được truy cập từ
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org3 và
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org6. Nếu thiết bị đầu cuối hỗ trợ Unicode, nó sẽ được sử dụng tự động. Nếu
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org3 không thể phát hiện thiết bị đầu cuối hỗ trợ unicode, bạn có thể vượt qua
>>>
0 để buộc thiết bị sử dụng Unicode>>> from sympy import init_session >>> init_session[]7
\[\mathrm{\LaTeX}\] #
Để lấy \[\mathrm{\LaTeX}\] của một biểu thức, hãy sử dụng
>>>
1. >>> from sympy import init_session >>> init_session[]9
Hàm
>>>
1 có nhiều tùy chọn để thay đổi định dạng của những thứ khác nhau. Xem >>>
3 để biết thêm chi tiếtToánML#
Ngoài ra còn có một máy in cho MathML, được gọi là
>>>
4. Nó phải được nhập từ >>>
5>>> from sympy import init_session >>> init_session[]0
>>>
4 in đầu ra. Nếu bạn muốn chuỗi, hãy sử dụng chức năng >>>
7dấu chấm #
Hàm
>>>
8 trong >>>
9 in ra định dạng dấu chấm, có thể được hiển thị bằng Graphviz. Xem phần Thao tác biểu thức nâng cao để biết một số ví dụ về đầu ra của máy in này. Dưới đây là một ví dụ về đầu ra thô của hàm
>>>
8>>> from sympy import init_session >>> init_session[]1
chú thích
[ 1 ]SymPy không sử dụng hàm
>>> from sympy import init_printing >>> init_printing[]41 dựng sẵn của Python để in lại, bởi vì trong Python
>>> from sympy import init_printing >>> init_printing[]42 gọi
>>> from sympy import init_printing >>> init_printing[]41 trên các phần tử của danh sách và một số hàm SymPy trả về danh sách [chẳng hạn như
>>> from sympy import init_printing >>> init_printing[]44]. Vì
Python console for SymPy 0.7.3 [Python 2.7.5-64-bit] [ground types: gmpy] These commands were executed: >>> 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[] # doctest: +SKIP Documentation can be found at http://www.sympy.org2 quá dài dòng nên không ai muốn nó được gọi theo mặc định ở đầu ra của
>>> from sympy import init_printing >>> init_printing[]44