如何替换python字符串中的对象?

时间:2018-08-14 08:41:28

标签: python string

我有一个Employee类的对象。

#  For Example
>>> employee1 = Employee()

我需要在下面的表达式中替换对象employee1。表达式将是动态的

>>> expr = "object.basic_sal * 0.10 + 500"


例如,

>>> employee1 = Employee()
>>> employee1.basic_sal = 10000
>>> expr = "object.basic_sal * 0.10 + 500"

>>> eval_expr(object=employee1, expression=expr)
1500

我找不到类似的问题。
请帮助我。

1 个答案:

答案 0 :(得分:1)

您可以使用str.format()将值插值成字符串:

expr = "{object.basic_sal} * 0.10 + 500".format(object=employee1)

要评估表达式,可以使用eval()函数,尽管由于安全风险通常不建议使用该函数。

result = eval(expr)