Функции при написании кода чаще всего представляют, как некую
отдельную часть кода, которая
выполняет заданные действия, но
не влияет на основной код программы напрямую, лишь
возвращая обратно на глобальный уровень необходимые данные.
По этой причине и не любят использование global в функциях, так как это рушит их представление.
А сам код выше можно заменить на:
var1 = 0
def func(var):
return var+1
var1 = func(var1)