Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Глобальные, локальные и нелокальные переменные Python

Глобальные, локальные и нелокальные переменные Python

В этом руководстве вы узнаете о глобальных переменных Python, локальных переменных, нелокальных переменных и о том, где их использовать.

Видео:локальные и глобальные переменные Python

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

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

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

Пример 1. Создание глобальной переменной

x = "global"

def foo():
    print("x inside:", x)


foo()
print("x outside:", x)

Вывод

x inside: global
x outside: global

В приведенном выше коде мы создали x как глобальную переменную и определил foo() чтобы напечатать глобальную переменную x . Наконец, мы вызываем foo() который напечатает значение x .

Что делать, если вы хотите изменить значение x внутри функции?

x = "global"

def foo():
    x = x * 2
    print(x)

foo()

Вывод

UnboundLocalError: local variable 'x' referenced before assignment

Вывод показывает ошибку, потому что Python обрабатывает x как локальная переменная и x также не определен внутри foo() .

Чтобы это работало, мы используем global ключевое слово. Посетите страницу глобального ключевого слова Python, чтобы узнать больше.

<час>

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

Переменная, объявленная внутри тела функции или в локальной области видимости, называется локальной переменной.

Пример 2. Доступ к локальной переменной вне области действия

def foo():
    y = "local"


foo()
print(y)

Вывод

NameError: name 'y' is not defined

Вывод показывает ошибку, потому что мы пытаемся получить доступ к локальной переменной y в глобальной области видимости, тогда как локальная переменная работает только внутри foo() или локальная область.

<час>

Давайте рассмотрим пример создания локальной переменной в Python.

Пример 3. Создание локальной переменной

Обычно мы объявляем переменную внутри функции, чтобы создать локальную переменную.

def foo():
    y = "local"
    print(y)

foo()

Вывод

local

Давайте посмотрим на предыдущую задачу, где x была глобальной переменной, и мы хотели изменить x внутри foo() .

<час>

Глобальные и локальные переменные

Здесь мы покажем, как использовать глобальные и локальные переменные в одном и том же коде.

Пример 4. Использование глобальных и локальных переменных в одном коде

x = "global "

def foo():
    global x
    y = "local"
    x = x * 2
    print(x)
    print(y)

foo()

Вывод

global global 
local

В приведенном выше коде мы объявляем x как глобальное и y как локальная переменная в foo() . Затем мы используем оператор умножения * изменить глобальную переменную x и мы печатаем оба x и y .

После вызова foo() , значение x становится global global потому что мы использовали x * 2 напечатать два раза global . После этого мы печатаем значение локальной переменной y то есть local .

<час>

Пример 5:глобальная переменная и локальная переменная с одинаковыми именами

x = 5

def foo():
    x = 10
    print("local x:", x)


foo()
print("global x:", x)

Вывод

local x: 10
global x: 5

В приведенном выше коде мы использовали одно и то же имя x. как для глобальной переменной, так и для локальной переменной. Мы получаем другой результат, когда печатаем одну и ту же переменную, потому что переменная объявлена ​​в обеих областях, то есть в локальной области внутри foo(). и глобальная область вне foo() .

Когда мы печатаем переменную внутри foo() он выводит local x: 10 . Это называется локальной областью действия переменной.

Точно так же, когда мы печатаем переменную за пределами foo() , он выводит global x:5 . Это называется глобальной областью действия переменной.

<час>

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

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

Давайте посмотрим на пример использования нелокальной переменной в Python.

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

Пример 6. Создание нелокальной переменной

def outer():
    x = "local"

    def inner():
        nonlocal x
        x = "nonlocal"
        print("inner:", x)

    inner()
    print("outer:", x)


outer()

Вывод

inner: nonlocal
outer: nonlocal

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

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


Python

  1. C Переменные, константы и литералы
  2. Ключевые слова и идентификаторы Python
  3. Оператор Python, отступы и комментарии
  4. Переменные Python, константы и литералы
  5. Преобразование типов Python и приведение типов
  6. Ввод, вывод и импорт Python
  7. Глобальное ключевое слово Python
  8. Числа Python, преобразование типов и математика
  9. Управление каталогами и файлами Python
  10. Ошибки Python и встроенные исключения