在Python中,可以通过使用eval()
函数来在函数体内评估函数参数。下面是一个包含代码示例的解决方法:
def evaluate_arg(arg):
try:
result = eval(arg)
return result
except NameError:
return arg
def my_function(arg1, arg2):
evaluated_arg1 = evaluate_arg(arg1)
evaluated_arg2 = evaluate_arg(arg2)
# 在函数体内使用评估后的参数
print(evaluated_arg1 + evaluated_arg2)
# 调用函数
my_function("2+3", "4*5") # 输出结果为 17
在上述示例中,我们定义了一个名为evaluate_arg()
的辅助函数来评估传入的参数。该函数使用eval()
函数来评估参数,并返回评估后的结果。如果参数无法被评估(例如参数是一个未定义的变量),则返回原始参数。
在my_function()
函数中,我们将传入的参数分别传递给evaluate_arg()
函数进行评估,并将评估后的结果保存在evaluated_arg1
和evaluated_arg2
变量中。然后,我们可以在函数体内使用这些评估后的参数进行进一步的操作。
在示例中,我们将评估后的参数相加,并使用print()
函数输出结果。当我们调用my_function("2+3", "4*5")
时,输出的结果将为17,即2+3+4*5的结果。
请注意,使用eval()
函数需要谨慎,因为它允许执行任意的Python代码。应该确保仅在可信任的环境中使用它,并且对于用户提供的输入,应该进行有效的输入验证和过滤,以防止潜在的安全问题。