• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

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

 

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

Локальные переменные - это переменные, которые определены внутри функции и доступны только этой функции во время ее выполнения.

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

Глобальные переменные - это переменные, которые были определены вне какой-либо функции. Эти переменные будут существовать до тех пор, пока они не будут удалены или пока программа не завершится.

x = "pimylifeup" #This is a Global variable

 

def exampleFunction():

    b = "uplifemypi" #This is a Local variable

Приведенный выше пример должен дать вам быстрое представление о том, когда переменную можно считать глобальной или локальной .

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

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

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

x = "PiMyLifeUp" #This is in the global space

 

def exampleFunc():

    print("Learning from " + x) #We access the global version of x

 

exampleFunc()

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

Learning from PiMyLifeUp

Однако есть предостережение относительно использования глобальных переменных в функциях. Как только вы пытаетесь присвоить значение глобальной переменной без использования ключевого слова global, это значение становится локальной переменной, а глобальная переменная игнорируется. Став локальной переменной, только сама функция может получить доступ к ее значению. Поэтому исходное значение глобальных переменных не изменяется. Мы можем наблюдать это поведение, написав небольшой скрипт, в котором мы пытаемся изменить значение xвнутри функции.

x = "PiMyLifeUp" #This is in the global space

def exampleFunc():

    x = "UpLifeMyPi" #This is in the local space now

    print("Learning from " + x) #As we set x locally, we access its local version

 

exampleFunc()

 

print("Learning from " + x)

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

Learning from UpLifeMyPi

Learning from PiMyLifeUp

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

Использование глобального ключевого слова в Python

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

x = "PiMyLifeUp" #This is in the global space

def exampleFunc():

    global x #Use x from the global space

    x = "UpLifeMyPi" #Change our global x

    print("Learning from " + x) #Print out the global x value

 

exampleFunc()

 

print("Learning from " + x)#Print out the global x value again

Как видно из результата этой функции, обе print()функции теперь возвращают одно и то же значение. Этот результат связан с тем, что мы использовали  globalключевое слово и теперь изменяем значение глобальных переменных внутри функции, а не создаем новую локальную переменную.

Learning from UpLifeMyPi

Learning from UpLifeMyPi

Используя ключевое слово global внутри функции, вы также можете определять новые глобальные переменные. Хотя это обычно не рекомендуется, это можно сделать довольно легко. Все, что вам нужно сделать, это использовать globalключевое слово, как мы делали это ранее в примере кода. Переменная автоматически создается в глобальной области видимости, как только ей присваивается значение.

def exampleFunc():

    global x #Use x from the global space

    x = "PiMyLifeUp" #Set the value of the global x variable

 

exampleFunc()

 

print("Learning from " + x)#Print out the value of the global x value

В этом примере кода вы можете видеть, что мы сначала создаем нашу xпеременную в нашей exampleFunc()функции, а затем получаем доступ к этой же переменной, используя print()в глобальном пространстве. Если вы сделаете это без использования globalключевого слова, вы столкнетесь с ошибкой, поскольку переменная никогда не будет существовать вне нашей exampleFunc()функции. Однако, благодаря нашему использованию global, мы можем легко получить доступ к переменной, поскольку xпеременная становится доступной в глобальном пространстве. Вы должны получить следующий результат из приведенного выше примера кода.

Learning from PiMyLifeUp

На этом этапе вы должны понимать разницу между локальной и глобальной переменной в Python.

 




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024