当前位置: 首页 > 编程笔记 >

Python用eval评估表达式

陈晟睿
2023-03-14
本文向大家介绍Python用eval评估表达式,包括了Python用eval评估表达式的使用技巧和注意事项,需要的朋友参考一下

示例

>>> expression = '5 + 3 * a'
>>> a = 5
>>> result = eval(expression)
>>> result
20
           

 类似资料:
  • 本文向大家介绍Python使用自定义全局变量使用eval评估表达式,包括了Python使用自定义全局变量使用eval评估表达式的使用技巧和注意事项,需要的朋友参考一下 示例 此外,此代码不能偶然引用外部定义的名称: defaultdict例如,使用可以将未定义的变量设置为零:            

  • 问题内容: 我正在建立一个网站,我需要用户应该能够根据数据库表中的值来评估某些表达式,而不是使用pyparsing等工具,而是考虑使用python本身,并提出了一个解决方案这足以满足我的目的。我基本上是使用eval来评估表达式,并以空传递全局变量dict,这样就无法访问任何内容,而从数据库获取值的局部变量dict ,如果用户需要一些函数,我也可以传递这些函数 所以我的问题是,它将有多安全,我有三个

  • 问题内容: 对象在Python中评估的真值是多少? 相关问题 Python中对象的布尔值:有关覆盖对象评估方式的讨论 问题答案: 可以测试任何对象的真值,以在if或while条件中使用或用作以下布尔运算的操作数。以下值为“假”: 没有 假 任何数值类型的零,例如,,,。 任何空序列,例如,,。 任何空映射,例如。 用户定义的类的实例,如果该类定义了或方法,则该方法返回整数0或bool value时

  • 问题内容: 什么是实现将采用字符串并根据运算符优先级输出结果的python程序的最佳方法(例如:“ 4 + 3 * 5”将输出19)。我在谷歌上寻找解决这个问题的方法,但是它们都太复杂了,我正在寻找一个(相对)简单的方法。 澄清:我需要比eval()稍微先进的东西-我希望能够添加其他运算符(例如,最大运算符-4 $ 2 = 4),或者,我对此在学术上比对专业更感兴趣-我想知道 该怎么 做。 问题答

  • 本文向大家介绍评估后缀表达式,包括了评估后缀表达式的使用技巧和注意事项,需要的朋友参考一下 为了求解数学表达式,我们需要前缀或后缀形式。将中缀转换为后缀后,我们需要后缀评估算法来找到正确的答案。 在这里,我们还必须使用堆栈数据结构来解决后缀表达式。 从后缀表达式中,找到一些操作数后,将它们压入堆栈。找到某个运算符后,将从堆栈中弹出两个项目,并按正确的顺序执行操作。之后,结果也被压入堆栈中以备将来使

  • 我理解经典例子的问题 但我无法说服自己以下是有效的还是无效的 我知道'foo(i)'和'i'的求值顺序是不确定的,但是'评估'到底是什么意思?也就是说bar的第二个参数总是42,或者'i'的当前值可以在foo改变它之前被传入吗?