5
SymPy配备了可以将任意字符串解析为SymPy表达式的nice sympify()函数。但它有两大缺点:SymPy:安全地解析字符串
- 它是不是安全,因为它依赖于臭名昭著的eval()
- 它会自动简化了读表达。例如sympify(“二项(5,3)”)将返回表达式10
所以我的问题是:
首先,是有办法“只是解析”的字符串,没有任何附加的计算?我想达到这样的效果:
latex(parse('binomial(5,3)')) #returns '{\\binom{5}{3}}'
其次,有没有sympify一个接受的方式(即分析和计算)任意用户生成的字符串,而其余的安全吗?它是由SymPy Gamma完成的,所以在实践中是可能的,但问题是需要多少肮脏的工作。