Я думаю, что понимаю, почему глобальные переменные должны использоваться для связывания переменных и с функциями. Поэтому, если я позвоню:Назначение глобальных переменных в python для одной переменной или функции?
x = 0
y = 0
z = 0
def example():
global x
global y
global z
Я буду в состоянии изменить x, y, z, которые находятся вне функции.
Однако есть ли способ присвоить все мои необходимые глобальные переменные чему-то еще, а затем вызвать их в одной строке.
Я пробовал:
def global_var():
global x
global y
global z
, а затем вызова:
def example():
global_var()
x += 1
etc
Но это не похоже на работу. или, по крайней мере, код, по-видимому, соответствует первой переменной x и генерирует ошибку перед присваиванием.
Ах право, значения связаны между собой, называет глобальное только в целом более неэффективным? И поэтому значения словаря постоянно обновляются таким образом. Как и в дальнейшем, если I cal my_vars ["x"] + = 2, будет x теперь равным трем (используя пример выше). –
Да, вам не нужно вызывать глобальные словари. Эффективность должна быть тривиальной, так что оба случая, вероятно, не повлияют на вычисления, но качество кода будет лучше во втором случае. Я обновил ответ, чтобы немного объяснить, почему словарь не нужен глобальный. –
Большое спасибо. Большая помощь. –