SymPy - 符号

  • 简述

    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 命名空间中的定义的特殊名称。冲突 1 包含单个字母,冲突 2 具有多字母冲突符号
    
    >>> 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)