SymPy 符号

SymPy 符号

SymbolsymPy 库中最重要的类。正如前面提到的,符号计算是使用符号完成的。SymPy 变量是 Symbols 类的对象。

Symbol() 函数的参数是一个包含可以赋给变量的符号的字符串。

>>> from sympy import Symbol 
>>> x=Symbol('x') 
>>> y=Symbol('y') 
>>> expr=x**2+y**2 
>>> expr

以上代码片段的输出等效于下面的表达式−

x^2 + y^2

一个符号可能由多个字母组成。

>>> s=Symbol('side') 
>>> s**3

上面的代码片段给出了与下面表达式等价的输出 −

side^3

SymPy还有一个 Symbols() 函数,可以同时定义多个符号。字符串中的变量名用逗号或空格分隔。

>>> from sympy import symbols 
>>> x,y,z=symbols("x,y,z")

在SymPy的abc模块中,所有的拉丁字母和希腊字母都被定义为符号。因此,使用这种方法比实例化符号对象更方便。

>>> from sympy.abc import x,y,z

然而,名称 C, O, S, I, N, EQ 是预定义符号。此外,拥有超过一个字母的符号在abc模块中未定义,需要使用如上所示的Symbol对象。abc模块定义了可以检测默认SymPy命名空间中定义的特殊名称。clash1包含单个字母,clash2包含多个字母冲突的符号。

>>> from sympy.abc import _clash1, _clash2 
>>> _clash1

上面代码片段的输出如下所示−

{‘C’: C, ‘O’: O, ‘Q’: Q, ‘N’: N, ‘I’: I, ‘E’: E, ‘S’: S}

>>> _clash2

上面代码片段的输出如下:

{‘beta’: beta, ‘zeta’: zeta, ‘gamma’: gamma, ‘pi’: pi}

可以使用类似于range()函数的语法来定义索引符号。范围由冒号表示。范围的类型由冒号右边的字符确定。如果itr是一个数字,那么它左边的连续数字将被视为非负起始值。右边的连续数字将被视为结束值加1。

>>> from sympy import symbols 
>>> symbols('a:5')

上面的代码片段的输出如下所示 −

(a0, a1, a2, a3, a4)

>>> symbols('mark(1:4)')

上述代码段的输出如下 − (mark1,mark2,mark3)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程