Переписываю старинное легаси, узнаю как нельзя писать код))) Есть определенные скрипты, где большая связанность кода из-за использование глобальных переменных, которые можно заменить на поля класса, так ещё и удобнее станет. По типу:
class GlobalData:
pass
f2():
global i # не работает
i += 1
GlobalData.counter += 1 # работает
print(GlobalData.counter)
f1():
i = 0
GlobalData.counter = 0
print(GlobalData.counter)
f2()
f1()
Раньше как-то не задумывался как глобальные могут быть полезны, а теперь так и не понимаю зачем они вообще нужны. Может есть скоп задач где они лучше подходят?