是否可以限制文字字符串插值可以访问的范围?
例如:
A = 10
B = 20
allowed_dict = {'a': 't1', 'b': 't2'}
我想允许特定的字符串评估只能访问allowed_dict
变量,而不能访问其他变量。
如果字符串在相同范围内,则可以到达所有这些变量,例如:
f'{A} {B} {allowed_dict}'
使用''.format
,您将传递显式kwarg,因此只能访问这些值。 f''
有类似的功能吗?
P.S。我之所以这样问,是因为我想使用f''
通过一些变量即时执行函数。例如。 f'{my_func(1, 2)}'
。我猜想''.format
不能做到这一点(直接通过字符串指定执行函数)?