Россия и Беларусь начали и продолжают войну против народа Украины!

Область видимости переменных в Python

  Юрий  | 

  Обновл. 25 Мар 2023  | 

 454

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

Локальные переменные в Python

Когда мы объявляем переменные внутри функции, эти переменные будут иметь локальную область видимости. Мы не можем получить к ним доступ вне функции. Эти типы переменных называются локальными переменными. Например:

Результат:

Local Hello
NameError: name 'message' is not defined

Здесь переменная message является локальной переменной функции greet(), поэтому доступ к ней возможен только внутри этой функции. Именно поэтому в результате мы увидели сообщение об ошибке, когда попытались получить доступ к переменной message вне функции greet().

Чтобы решить эту проблему, мы можем сделать переменную message глобальной.

Глобальные переменные в Python


В Python переменная, объявленная вне функции или в глобальной области видимости, называется глобальной переменной. Это означает, что глобальная переменная может быть доступна как внутри, так и вне функции.

Давайте рассмотрим пример создания глобальной переменной в Python:

Результат:

Local Hello
Global Hello

На этот раз мы можем получить доступ к переменной message извне функции greet(), так как это глобальная переменная.

Нелокальные переменные в Python

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

Ключевое слово nonlocal используется для создания нелокальных переменных. Например:

Результат:

inner: nonlocal
outer: nonlocal

Здесь функция inner() является вложенной функцией. Мы использовали ключевое слово nonlocal для создания нелокальной переменной. Функция inner() определена в области видимости функции outer().

Примечание: Если мы изменим значение нелокальной переменной, то изменения отобразятся в локальной переменной.


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *