如何将 kwargs 对象转换为局部变量?我是一名数学老师,我想编写一个辅助函数,我可以在其中使用 JS 样式的模板字符串来编写问题。
我想做这样的事情:
TemplateString('{{a*b}} apples are shared among {{a}} children. How many apples do each child get?', {'a': 3, 'b': 5})
//return '15 apples are shared among 3 children...'
我将在字符串中搜索 '{{}}' 并调用 eval() 里面的内容。但首先我需要将 {'a': 3, 'b': 5} 转换为局部变量 a=3 和 b=5。变量可以是 int、float 或 str。做这个的最好方式是什么?
如果您打算使用eval
,则根本不需要将它们转换为本地变量。eval
采用可选globals
和/或locals
参数来定义该表达式的活动范围变量。如果您提供globals
(第二个位置参数)而不是locals
(第三个),则globals
作为 重用locals
,例如:
>>> eval('a * b', {'a': 5, 'b': 3})
15
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句