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

Understand Global Variables Scope Python



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

Пример-1: Простое использование глобальной переменной

В следующем примере показано простое использование глобальной переменной внутри функции и вне функции. Здесь глобальная переменная с именем текст используется для присвоения строковых данных. Пользовательская функция с именем printMessage () определен для печати значения глобальной переменной. Ценность текст переменная печатается внутри функции и вне функции после изменения значения.







#! / usr / bin / env python3

# Определить глобальную переменную
текстзнак равно 'Добро пожаловать в LinuxHint'

# Определить функцию
defprintMessage():

# Распечатать глобальную переменную из функции
Распечатать('Глобальная переменная внутри функции: п',текст)

# Вызов функции
printMessage()

# Изменить значение глобальной переменной
текстзнак равно «Изучите программирование на Python»

# Распечатать текущее значение глобальной переменной
Распечатать('Глобальная переменная вне функции: п',текст)

Выход:



Следующий вывод появится после запуска скрипта. Он напечатал значение ' Добро пожаловать в LinuxHint » который присваивается переменной перед вызовом функции. Затем он распечатал значение, «Изучите программирование на Python» после изменения значения переменной.







Пример-2: Использование глобальной и локальной переменных с одинаковым именем

Если вы хотите объявить имя переменной внутри функции, которая уже была объявлена ​​как глобальная переменная ранее в python, и хотите использовать переменную, тогда он будет рассматривать переменную как локальную переменную и генерировать ошибку. Следующий сценарий покажет ошибку. Здесь, текст Переменная определяется как глобальная и локальная переменная.

#! / usr / bin / env python3

# Определить глобальную переменную
текстзнак равно 'Мне нравится Python'

# Определить функцию
defprintMessage():
Распечатать(текст)

текстзнак равно 'Мне нравится PHP'

# Вызов функции
printMessage()

Выход:



Следующий вывод появится после запуска скрипта.

Чтобы избежать описанной выше ситуации и если вы хотите объявить локальную переменную с тем же именем, что и глобальная переменная, вам нужно сначала назначить локальную переменную внутри функции. Следующий сценарий показывает, что изменения в локальной переменной не влияют на глобальную переменную. текст Здесь переменная печатается внутри и снаружи функции.

#! / usr / bin / env python3

# Определить глобальную переменную
текстзнак равно 'Мне нравится Python'

# Определить функцию
defprintMessage():
# Определить местную ценность
текстзнак равно 'Мне нравится PHP'
# Распечатать локальную переменную, текст
Распечатать('Значение' текста 'внутри функции: п',текст)

# Вызов функции
printMessage()

# Распечатать глобальную переменную, текст
Распечатать('Значение' текста 'вне функции: п',текст)

Выход:

Следующий вывод появится после запуска скрипта.

Пример-3: Использование глобальной переменной внутри функции

В предыдущем примере показано, что глобальная переменная недоступна внутри функции. Вы можете использовать глобальный ключевое слово для доступа к глобальной переменной из любой функции. В следующем сценарии cal_percentage () Функция определена для вычисления процента любого числа, в котором используются как глобальные, так и локальные переменные. Здесь, на одной - глобальная переменная, а perVal это локальная переменная. Глобальный ключевое слово используется здесь для идентификации глобальной переменной внутри функции, а значение глобальной переменной изменяется внутри функции.

#! / usr / bin / env python3

# Принимаем целочисленное значение
на однойзнак равно int(Вход('Введите номер:'))

# Определить функцию
defcal_percentage():
# Распознать глобальную переменную с помощью ключевого слова global
Глобальныйна одной

# Принимаем целочисленное значение в процентах
perValзнак равно int(Вход('Введите процентное значение:'))

# Рассчитываем процентное значение
результатзнак равно плавать((ли * perVal)/100)

# Распечатать отформатированный результат
Распечатать('% d процент от% d =% f'%(perVal,на одной,результат))

# Изменить значение глобальной переменной
на однойзнак равно 500

# Распечатать значение глобальной переменной перед вызовом функции
Распечатать(' пЗначение num =% d '%на одной)

# Вызов функции
cal_percentage()

# Вывести значение глобальной переменной после вызова функции
Распечатать(' пЗначение num =% d '%на одной)

Выход:

Следующий вывод появится после запуска скрипта. Здесь рассчитывается и печатается 10% от 350.

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

В следующем примере показано, как глобальную переменную, объявленную в одном сценарии, можно использовать в другом сценарии. Предположим, имя файла global6.py который будет использовать глобальные переменные, определенные в файле с именем global5.py . Три глобальные переменные объявлены в global5.py . Вы должны импортировать global5 использовать переменные в другом скрипте. Сценарий global6.py рассчитает заработную плату трех типов сотрудников на основе входных значений и глобальных переменных.

#! / usr / bin / env python3
# это файл global5.py

# Базовая структура заработной платы компании
Базовыйзнак равно 5000
Медицинскийзнак равно 500
Транспортзнак равно 500 #! / usr / bin / env python3
# это файл global6.py

# Импортируем глобальные переменные из global5.py
Импортироватьglobal5

# Взять имя сотрудника
имязнак равно Вход('Введите имя сотрудника:')
# Взять название поста
Почтазнак равно Вход('Введите сообщение:')

# Инициализировать переменную ошибки
ошибказнак равно Ложь

# Проверить пост и установить базовую зарплату на основе поста
если(Почта.верхний() == 'ИСПОЛНИТЕЛЬНЫЙ ДИРЕКТОР'):
базовыйзнак равноglobal5.Базовый+(global5.Базовый*0,4)
Элиф(Почта.верхний() == 'МЕНЕДЖЕР'):
базовыйзнак равноglobal5.Базовый+(global5.Базовый*0,25)
Элиф(Почта.верхний() == 'БУХГАЛТЕР'):
базовыйзнак равноglobal5.Базовый+(global5.Базовый*0,15)
еще:
# Установить ошибку в true, если значение сообщения не найдено
ошибказнак равно Правда

# Вывести зарплату, если ошибка отсутствует
если (ошибка== Ложь):
зарплатазнак равнобазовый + глобальный 5.Медицинский+ global5.Транспорт
Распечатать('Зарплата% s составляет% d'%(имя,зарплата))
еще:
Распечатать('Сообщение не найдено')

Выход:

Следующий вывод появится после запуска скрипта. Здесь сценарий запускается два раза с допустимым сообщением и недопустимым сообщением.

Заключение:

Концепция глобальной переменной в Python объясняется в этом руководстве с помощью различных простых примеров для новых пользователей Python. Я надеюсь, что читатели получат надлежащие знания о глобальных переменных, а также о локальных переменных после прочтения этого руководства.

Посмотреть авторское видео: здесь