Python3,eval() 的最佳替代品?(作为表达式输入)

Gav*_*vin 6 python python-3.x

我正在使用 Python 3。

我想问这个问题的最好方法是如何在不使用的情况下输入表达式eval(input("Input: "))

我现在是一个简单的用户,所以我需要 eval 是一个代数计算器。

Hug*_*ell 7

根据您的表达式的复杂程度,ast.literal_eval可能是一个更安全的选择。

  • `literal_eval()` 只会计算文字,而不是代数表达式。 (4认同)

mil*_*ose 6

如果您是唯一使用该应用程序的人,因此无需担心安全问题,只需继续使用eval()exec()

否则,只需为您需要的特定任务使用安全库。例如numexpr我猜是计算器。