В данной статье я расскажу, что такое переменные, как объявлять переменные и об их области видимости.
Введение
Переменные — это зарезервированная область памяти для хранения данных. Это метки, которые прикрепляются к объектам и действуют как указатель или ссылка на объект. Например:
x = [1, 2, 3]
y = x
В этом примере переменная «x» указывает на расположение в ячейке памяти [1, 2, 3] объекта. Когда мы создаем переменную «y» и приравниваем ее к «a», она указывает на ту же ячейку памяти [1, 2, 3]. И если мы решим добавить элемент в этот список, как показано ниже, то это изменение отразится как на «x», так и на «y»:
x.append(4)
Попробуйте сами!
Объявление переменной
Python — это динамически типизированный язык. Таким образом, в отличие от Java или C, когда мы инициализируем переменную, нам не нужно объявлять ее тип.
Хотя переменные представляют определенные значения, такие как «String» и «Int», имя переменной, указывающее на эти значения, необязательно должно иметь тип. Переменные — это просто ссылка на ячейку памяти.
Вы можете легко переопределить переменную, как только вы ее объявите. После повторного объявления переменной она просто указывает на другую ячейку памяти, и предыдущее значение теряется:
x = 4
type(x)
x = "Test variable"
type(a)
Правила объявления переменных:
- Название должно начинаться либо с «__», либо с какой-либо буквы. Название не может начинаться с каких-либо числовых значений.
- Переменные могут состоять только из буквенно-цифровых символов и символов подчеркивания (A-Z, a-z,0-9 и __).
- Переменные чувствительны к регистру. PyThon отличается от Python.
- Существуют определенные зарезервированные ключевые слова, такие как «if», «break», «class» и «del», которые не могут использоваться в качестве имен переменных. Список ключевых слов вы можете найти здесь.
Преобразование типов
Процесс преобразования объекта одного типа данных («integer», «string», «float») в другой, называется преобразованием типа в Python. Существует два типа преобразования типов:
- Неявное преобразование типов.
- Явное преобразование типов.
Более подробно про преобразование типов можно почитать в отдельной статье.
Область видимости
В Python есть два типа переменных. Локальные и глобальные:
- Локальные переменные: Всякий раз, когда Python выполняет функцию, он создает локальную среду, содержащую имена переменных и параметров, назначенных внутри функции. Переменные в этой локальной среде называются локальными переменными.
- Глобальные переменные: Переменная, созданная вне функции в глобальном пространстве имен, называется глобальной переменной. Эти переменные могут быть использованы в любой функции.
Чтобы еще больше прояснить наше понимание области видимости переменных и переопределения, давайте рассмотрим этот пример:
a = 10
b = 20
c = 30
def myfunc ():
global c
a = 12
c ="Hello World"
print("Value of a inside the function: "+str(a))
print("Memory location of a inside func: "+str(id(a)))
print("Value of b inside the function: "+str(b))
print("Memory location of c inside func: "+str(id(c)))
print("Value of c inside the function: "+str(c))
myfunc()
print("Memory location of a outside func: "+str(id(a)))
print("Global variable a after running the func: "+ str(a))
print("Global variable b after running the func: "+ str(b))
print("Memory location of c outside func: "+str(id(c)))
print("Global variable c after running the func: "+ str(c))
Вывод программы:
Value of a inside the function: 12
Memory location of a inside func: 140196548835392
Value of b inside the function: 20
Memory location of c inside func: 140196486430000
Value of c inside the function: Hello World
Memory location of a outside func: 140196548835328
Global variable a after running the func: 10
Global variable b after running the func: 20
Memory location of c outside func: 140196486430000
Global variable c after running the func: Hello World

Здесь я определил три глобальные переменные «a»,»b» и «c». Все они изначально представляли собой целочисленные значения.
В функции «myfunc()» я представил глобальную переменную, добавив ключевое слово «global» перед «c». И как вы видите, когда я изменил значение «c» с «30» на «Hello World», оно изменилось глобально. Однако значение «a» сохранялось только в пределах области действия функции.
Это происходит потому, что Python проверяет существование переменной в двух местах: в функции и в глобальном пространстве имен. Когда я присвоил значение «a — 12», интерпретатор обнаружил, что это значение было определено внутри функции, и напечатал его значение. Здесь переменная «a» является локальной для функции, поэтому она исчезает, когда функция завершается.
Поскольку «b» не определена внутри функции, эту переменную искали в глобальном пространстве имен. Аналогично для «с», переменная увидела ключевое слово «global» и заглянула в глобальное пространство имен. Здесь переменная «c» рассматривается как глобальная переменная, и поэтому ее значение изменяется в глобальной области.
Более подробно про глобальные переменные можно почитать в отдельной статье
Заключение
В этой статье вы узнали основы переменных Python.
Теперь у вас должно быть четкое представление о переменных, о том, как объявлять переменные и об областях видимости.
Примечание: пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы, комментарии или проблемы. Основываясь на ваших предложениях, я обновлю эту статью более подробной информацией и иллюстрациями в будущем.
Если вы ищите способ системно подойти к обучению языка программирования Python, рекомендую записаться на курсы онлайн обучения.
Поделиться записью в социальных сетях