📅  最后修改于: 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,E和Q是预定义的符号。另外,在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)