SymPy - Ký hiệu
Symbollà lớp quan trọng nhất trong thư viện symPy. Như đã đề cập trước đó, các phép tính ký hiệu được thực hiện với các ký hiệu. Biến SymPy là các đối tượng của lớp Symbols.
Đối số của hàm Symbol () là một chuỗi chứa ký hiệu có thể được gán cho một biến.
>>> from sympy import Symbol
>>> x=Symbol('x')
>>> y=Symbol('y')
>>> expr=x**2+y**2
>>> expr
Đoạn mã trên cho kết quả tương đương với biểu thức bên dưới:
$x^2 + y^2$
Một ký hiệu có thể có nhiều hơn một bảng chữ cái.
>>> s=Symbol('side')
>>> s**3
Đoạn mã trên cho kết quả tương đương với biểu thức bên dưới:
$side^3$
SymPy cũng có một Symbols()chức năng có thể xác định nhiều ký hiệu cùng một lúc. Chuỗi chứa tên của các biến được phân tách bằng dấu phẩy hoặc dấu cách.
>>> from sympy import symbols
>>> x,y,z=symbols("x,y,z")
Trong mô-đun abc của SymPy, tất cả các bảng chữ cái Latinh và Hy Lạp được định nghĩa là ký hiệu. Do đó, thay vì khởi tạo đối tượng Symbol, phương pháp này rất tiện lợi.
>>> from sympy.abc import x,y,z
Tuy nhiên, những cái tên C, O, S, I, N, E và Qlà các ký hiệu được xác định trước. Ngoài ra, các biểu tượng có nhiều hơn một bảng chữ cái không được định nghĩa trong mô-đun abc, mà bạn nên sử dụng đối tượng Symbol như trên. Mô-đun abc xác định các tên đặc biệt có thể phát hiện các định nghĩa trong không gian tên SymPy mặc định. clash1 chứa các ký tự đơn và clash2 có các ký hiệu đụng độ nhiều chữ cái
>>> from sympy.abc import _clash1, _clash2
>>> _clash1
Kết quả của đoạn mã trên như sau:
{'C': C, 'O': O, 'Q': Q, 'N': N, 'I': I, 'E': E, 'S': S}
>>> _clash2
Kết quả của đoạn mã trên như sau:
{'beta': beta, 'zeta': zeta, 'gamma': gamma, 'pi': pi}
Các ký hiệu được lập chỉ mục có thể được xác định bằng cú pháp tương tự như hàm range (). Các phạm vi được biểu thị bằng dấu hai chấm. Loại phạm vi được xác định bằng ký tự ở bên phải dấu hai chấm. Nếu nó là một chữ số, tất cả các chữ số liền kề bên trái được lấy làm giá trị bắt đầu không âm. Tất cả các chữ số liền kề ở bên phải được lấy lớn hơn giá trị cuối cùng là 1.
>>> from sympy import symbols
>>> symbols('a:5')
Kết quả của đoạn mã trên như sau:
(a0, a1, a2, a3, a4)
>>> symbols('mark(1:4)')
Kết quả của đoạn mã trên như sau:
(mark1, mark2, mark3)