📜  SymPy-符号

📅  最后修改于: 2020-11-05 04:40:28             🧑  作者: Mango


Symbol是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模块中,所有拉丁字母和希腊字母都定义为符号。因此,代替实例化Symbol对象,此方法很方便。

>>> 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)