Назад к вопросам
Middle
73
questionbank

Как можно ограничить видимость глобальной переменной между двумя функциями в языке Python?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Используя область видимости (scoping) и функции как объекты первого класса. Можно передать переменную как аргумент или использовать замыкания.

Пример передачи аргумента:

def function1(variable):
    # Использование variable
    print(f"function1: {variable}")

def function2(variable):
    # Использование variable
    print(f"function2: {variable}")

# Передаем переменную в каждую функцию
my_variable = "Hello"
function1(my_variable)
function2(my_variable)

Пример использования замыкания:

def outer_function():
    # Локальная переменная, доступная только функциям внутри outer_function
    scoped_variable = "Scoped!"

    def inner_function1():
        # Доступ к scoped_variable через замыкание
        print(f"inner_function1: {scoped_variable}")

    def inner_function2():
        # Доступ к scoped_variable через замыкание
        print(f"inner_function2: {scoped_variable}")

    return inner_function1, inner_function2

# Получаем функции, которые "запомнили" scoped_variable
func1, func2 = outer_function()

# Вызываем функции, переменная видна только им
func1()
func2()