Найти тему

Урок 15. Тайны переменных – погружаемся в область видимости!

Привет, друзья! В предыдущих уроках мы познакомились с переменными – этими маленькими ячейками памяти, куда мы складываем данные. Сегодня мы раскроем одну из их тайн: область видимости. Не пугайтесь, это не так сложно, как может показаться!

Что такое область видимости?

Представьте себе большой дом, разделенный на комнаты. В каждой комнате могут быть свои предметы, которые не видны из других комнат. Область видимости переменной — это как раз такая "комната", где она "живет" и где ее можно использовать. Если вы попытаетесь взять предмет (переменную) из другой комнаты (области видимости), у вас ничего не получится!

Основные типы областей видимости в Python:

  • Локальная область видимости (Local Scope): Это как ваша собственная комната. Переменные, созданные внутри функции, "живут" только в ней и недоступны извне. Как только вы выходите из комнаты (функции завершается), все предметы (переменные) в ней исчезают.
  • Глобальная область видимости (Global Scope): Это как общая гостиная в доме. Переменные, объявленные вне функций, считаются глобальными и доступны из любой части программы. Они "живут" до тех пор, пока вы не "уйдете из дома" (программа не завершится).
  • Встроенная область видимости (Built-in Scope): Это как встроенный шкаф в доме, где хранятся уже готовые инструменты (функции и переменные Python, такие как print, len и т.д.). Вы можете использовать их в любой части программы без дополнительных объявлений.

Зачем нужна область видимости?

  • Организация кода: Область видимости помогает структурировать код и избежать случайных изменений переменных в разных частях программы.
  • Повторное использование имен: Вы можете использовать одно и то же имя переменной в разных функциях, не боясь конфликтов.

Пример:

global_var = "Я глобальная переменная!"

def my_function():
local_var = "Я локальная переменная!"
print(local_var)
print(global_var)

my_function()
print(global_var)
# print(local_var) # Вызовет ошибку!

В этом примере global_var — глобальная переменная, доступная как внутри, так и вне функции. local_var — локальная переменная, доступная только внутри my_function.

Ключевое слово global:

Если вам нужно изменить значение глобальной переменной внутри функции, используйте ключевое слово global.

global_var = 10

def my_function():
global global_var
global_var = 20

my_function()
print(global_var) # Выведет 20

А теперь задачки! Попробуйте решить их, чтобы закрепить знания:

Задача 1:

Что выведет следующий код?

x = 10

def my_function():
x = 5
print(x)

my_function()
print(x)

Задача 2:

Что выведет следующий код?

x = 10

def my_function():
global x
x = 5

my_function()
print(x)

Задача 3:

Напишите функцию, которая принимает число и возвращает его квадрат, используя глобальную переменную multiplier, которая равна 2.

-2

Надеюсь, эта статья помогла вам разобраться в области видимости переменных в Python! Не бойтесь экспериментировать и писать код — это лучший способ учиться!