Руководство по стилям Python 3 и PEP для представления пар глобальных значений словарного ключа () - PullRequest
0 голосов
/ 16 декабря 2018

Я не смог найти ссылки PEP на следующее соглашение:

def dict_to_var(dictionary:dict) -> None:
    for variable, value in dictionary.items():
        if variable not in globals():
            globals()[variable] = value

, которое предполагает , что каждый ключ в dictionary является строкой (допустимое имя переменной) (хотя вКлавиши Python dict могут включать в себя такие вещи, как tuple s, и выставляют эти строковые значения в качестве переменных в контексте globals (так как предоставление значения locals() внутри функции не сделает эти значения доступными вне вызова этой функции).

Например:

example = {'a': 'string', 'b': True}
dict_to_var(example)
print(a, b)
# 'string', True

Я полагаю, для ясности не следует этого делать, и если кому-то лень писать dict[var], то явно выставлять переменные, необходимые через var = dict[var_name].

Однако я был бы признателен, если бы кто-то смог найти для этого основание PEP.

...