Разберете обхвата на глобалните променливи в 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():
# Разпознайте глобалната променлива с помощта на глобална ключова дума
глобалниникой

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

# Изчислете процентната стойност
резултат= плувам((дали *perVal)/100)

# Отпечатайте форматирания резултат
печат(„ %d процент от %d = %f“%(perVal,никой,резултат))

# Променете стойността на глобалната променлива
никой= 500

# Отпечатайте стойността на глобалната променлива, преди да извикате функцията
печат('нСтойността на num = %d '%никой)

# Извикайте функцията
cal_percentage()

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

Изход:

Следният изход ще се появи след стартиране на скрипта. Тук 10% от 350 се изчисляват и отпечатват.

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

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

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

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

# Импортирайте глобалните променливи от global5.py
вносглобален5

# Вземете името на служителя
име= вход(„Въведете името на служителя:“)
# Вземете името на публикацията
пост= вход('Въведете публикацията:')

# Инициализирайте променливата за грешка
грешка= Неверно

# Проверете публикацията и задайте основната заплата въз основа на публикацията
ако(пост.горен() == 'ИЗПЪЛНИТЕЛЕН ДИРЕКТОР'):
основен=глобален5.Основен+(глобален5.Основен*0,4)
elif(пост.горен() == „УПРАВИТЕЛ“):
основен=глобален5.Основен+(глобален5.Основен*0,25)
elif(пост.горен() == 'КАСИЕР СЧЕТОВОДИТЕЛ'):
основен=глобален5.Основен+(глобален5.Основен*0,15)
иначе:
# Задайте грешка на true, ако стойността на публикацията не е намерена
грешка= Вярно

# Отпечатайте заплатата, ако грешката е фалшива
ако (грешка== Неверно):
заплата=основен + глобален5.Медицински+ глобално5.Транспорт
печат(„Заплатата на %s е %d“%(име,заплата))
иначе:
печат(„Публикацията не е намерена“)

Изход:

Следният изход ще се появи след стартиране на скрипта. Тук скриптът се изпълнява два пъти с валидна публикация и невалидна публикация.

Заключение:

Концепцията за глобална променлива в python е обяснена в този урок с различните прости примери за новите потребители на python. Надявам се читателите да получат подходящи познания за глобалните променливи, както и за локалните променливи, след като прочетат този урок.

Гледайте видеоклипа на автора: тук