将 kwargs 转换为变量?
Converting kwargs into variables?
如何将 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
takes optional globals
and/or locals
arguments 定义该表达式的活动范围变量。如果您提供 globals
(第二个位置参数)而不是 locals
(第三个),那么 globals
将被重用为 locals
,例如:
>>> eval('a * b', {'a': 5, 'b': 3})
15
如何将 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
takes optional globals
and/or locals
arguments 定义该表达式的活动范围变量。如果您提供 globals
(第二个位置参数)而不是 locals
(第三个),那么 globals
将被重用为 locals
,例如:
>>> eval('a * b', {'a': 5, 'b': 3})
15