SymPy – 符号

SymPy – 符号

符号 是symPy库中最重要的类。如前所述,符号计算是通过符号完成的。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模块中没有定义多于一个字母的符号,对于这些符号,你应该像上面那样使用符号对象。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教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程