如何将SymPy中E等保留预设字符转为自定义Symbol符号
实现方法
你可以在脚本开头修改SymPy的全局命名空间,直接覆盖内置保留字符的默认定义,配置一次即可全局生效,无需每次调用sympify额外传参:
import sympy # 配置部分:将保留字符E改为普通Symbol类型 sympy.E = sympy.Symbol('E') # 如果还有其他需要修改的保留字符(如I、pi等),可以按同样方法设置: # sympy.I = sympy.Symbol('I')
搭配你给出的业务代码运行即可得到期望结果:
# 你的原有业务代码 symbols_list = sympy.symbols(' '.join(["A","E","Y"])) expr = sympy.sympify("Y + 2 * E") print(f"variables in expr are {expr.free_symbols}") for x in symbols_list: print(f"coefficient of {x} in expr is {expr.coeff(x)}")
运行输出:
variables in expr are {Y, E} coefficient of A in expr is 0 coefficient of E in expr is 2 coefficient of Y in expr is 1
注意:如果后续需要使用原内置自然常数e,可以在修改配置前提前备份原有定义:
import sympy exp_const = sympy.E # 提前备份原自然常数对象 sympy.E = sympy.Symbol('E')
内容的提问来源于stack exchange,提问作者AmirHosein Sadeghimanesh
相关产品推荐
相关产品推荐

