Причина глобальных () в Python?
В чем причина наличия функции globals () в Python? Он возвращает только словарь глобальных переменных, которые уже являются глобальными, поэтому их можно использовать где угодно ... Я спрашиваю только из любопытства, пытаясь выучить Python.
def F():
global x
x = 1
def G():
print(globals()["x"]) #will return value of global 'x', which is 1
def H():
print(x) #will also return value of global 'x', which, also, is 1
F()
G()
H()
Я действительно не вижу смысла здесь? Единственный раз, когда мне это нужно, было, если бы у меня были локальные и глобальные переменные с одинаковым именем для них обоих
def F():
global x
x = 1
def G():
x = 5
print(x) #5
print(globals()["x"]) #1
F()
G()
Но вы никогда не должны сталкиваться с проблемой наличия двух переменных с одинаковым именем и необходимости использовать их обе в одной и той же области видимости.