У вас есть в основном два варианта.
Один - передать его второй функции в качестве параметра. (Если вы хотите, чтобы первая функция видела изменения в значении, это должен быть ссылочный тип (например, dict / list), и вам не нужно перезаписывать объект, только изменить его (например, a.append(b)
вместо a = a + [b]
).
Второй - определить класс, который можно использовать как одиночный. Технически, это все еще определяет что-то «глобально», но позволяет вам группировать вещи:
class FooSingleton(object):
class_var = "foo"
def func1():
FooSingleton.class_var = "bar"
def func2():
print(FooSingleton.class_var)
(Вы также можете сделать это с dict
вместо класса; вопрос предпочтений.)