Интерполяция литеральной строки - ограничение объема? - PullRequest
0 голосов
/ 29 марта 2019

Можно ли ограничить область, к которой может получить доступ интерполяция литеральной строки?

Например:

A = 10
B = 20
allowed_dict = {'a': 't1', 'b': 't2'}

Я хочу разрешить определенной оценке строки иметь доступ только к переменной allowed_dict, но ничего больше.

Если строка находится в той же области видимости, она может достигать всех этих переменных, например:

f'{A} {B} {allowed_dict}'

С ''.format вы передаете явные kwargs, поэтому доступны только эти значения. Есть ли что-то подобное в f''?

P.S. Я спрашиваю, почему я хочу использовать f'', чтобы выполнять функции на лету через некоторые переменные. Например. f'{my_func(1, 2)}'. Я предполагаю, что это невозможно с ''.format (чтобы указать выполнение функций напрямую через строку)?

...