本系列将会陆续整理分享一些的Python内置函数。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/11x9_wCZ3yiYOe5nVcRk2CQ?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_built-in_functions
val(source, /, globals=None, locals=None)
-
source:字符串表达式,该表达式会被计算并执行; -
globals:可选参数,字典格式,用于指定全局命名空间。如果省略,则使用当前的全局命名空间; -
locals:可选参数,字典格式,用于指定局部命名空间。如果省略,则使用当前的局部命名空间。
返回值:
下面是一些使用 eval() 函数的示例:
-
示例 1:基本使用
# 计算数学表达式
result = eval('2 + 3 * 4')
print(result)
# 输出 14
# 使用变量
x = 5
result = eval('x * 2')
print(result)
# 输出 10
-
示例 2:使用globals和locals参数
# 使用全局和局部变量
y = 10
# 在 globals 中定义 y
result_1 = eval('x + y', {'x': 5 , 'y': y})
# 在 locals 中定义 y
result_2 = eval('x + y', {'x': 5}, {'y': 20})
print(result_1)
# 输出 15
print(result_2)
# 输出 25
class ExpressionEvaluator:
# 类级别的全局变量
global_var = 100
def __init__(self, local_var):
# 实例级别的局部变量
self.local_var = local_var
def evaluate(self, expression):
# 使用 eval() 函数计算表达式
# 提供类级别的全局变量和实例级别的局部变量作为上下文环境
result = eval(expression, {'global_var': ExpressionEvaluator.global_var}, {'local_var': self.local_var})
return result
# 创建 ExpressionEvaluator 实例,传入局部变量的值
evaluator = ExpressionEvaluator(local_var=50)
# 计算表达式
expression = 'global_var + local_var'
result = evaluator.evaluate(expression)
print(result)
# 输出 150


本篇文章来源于微信公众号: 码农设计师