Схватите опсег глобалних променљивих у питхону

Understand Global Variables Scope Python



У већини програмских језика могу се дефинисати две врсте променљивих. То су глобалне и локалне променљиве. Променљиве које су дефинисане изван функције називају се глобална променљива. Ова променљива је доступна и променљива са било ког места у скрипти. Променљива која је декларисана унутар функције назива се локална променљива. Али ако исти назив променљиве постоји као глобалне и локалне променљиве, онда ће променљива унутар функције добити приоритет, а вредност глобалне променљиве ће се занемарити. Опсег глобалне променљиве у питхон скрипти приказан је у овом водичу користећи различите примере.

Пример-1: Једноставна употреба глобалне променљиве

Следећи пример приказује једноставну употребу глобалне променљиве унутар функције и изван функције. Овде, глобална променљива названа текст се користи за додељивање стринг података. Прилагођена функција по имену принтМессаге () је дефинисано за штампање вредности глобалне променљиве. Вредност текст променљива се штампа унутар функције и изван функције након промене вредности.







#!/уср/бин/енв питхон3

# Дефинишите глобалну променљиву
текст= „Добро дошли у ЛинукХинт“

# Дефинишите функцију
дефпринтМессаге():

# Одштампајте глобалну променљиву из функције
принт('Глобална променљива унутар функције: н',текст)

# Позовите функцију
принтМессаге()

# Промените вредност глобалне променљиве
текст= 'Научите Питхон програмирање'

# Одштампајте тренутну вредност глобалне променљиве
принт('Глобална променљива спољна функција: н',текст)

Излаз:



Следећи излаз ће се појавити након покретања скрипте. Штампала је вредност „ Добро дошли у ЛинукХинт ' која је додељена променљивој пре позивања функције. Затим је одштампала вредност, „Научите Питхон програмирање“ након промене вредности променљиве.







Пример 2: Употреба глобалне и локалне променљиве са истим именом

Ако желите да декларишете име променљиве унутар функције која је већ раније била декларисана као глобална променљива у питхону и желите да користите променљиву, онда ће променљиву третирати као локалну променљиву и генерисати грешку. Следећа скрипта ће приказати грешку. Овде, Текст променљива је дефинисана као глобална и локална променљива.

#!/уср/бин/енв питхон3

# Дефинишите глобалну променљиву
текст= 'Свиђа ми се Питхон'

# Дефинишите функцију
дефпринтМессаге():
принт(текст)

текст= 'Свиђа ми се ПХП'

# Позовите функцију
принтМессаге()

Излаз:



Следећи излаз ће се појавити након покретања скрипте.

Да бисте избегли горњу ситуацију и ако желите да декларишете локалну променљиву са истим именом као глобалну променљиву, морате прво доделити локалну променљиву унутар функције. Следећа скрипта показује да промене у локалној променљивој не мењају глобалну променљиву. текст променљива је одштампана унутар и изван функције овде.

#!/уср/бин/енв питхон3

# Дефинишите глобалну променљиву
текст= 'Свиђа ми се Питхон'

# Дефинишите функцију
дефпринтМессаге():
# Одредите локалну вредност
текст= 'Свиђа ми се ПХП'
# Одштампајте локалну променљиву, текст
принт('Вредност' текста 'унутар функције: н',текст)

# Позовите функцију
принтМессаге()

# Одштампајте глобалну променљиву, текст
принт('Вредност' текста 'изван функције: н',текст)

Излаз:

Следећи излаз ће се појавити након покретања скрипте.

Пример 3: Употреба глобалне променљиве унутар функције

Претходни пример показује да глобална променљива није доступна унутар функције. Можете користити глобалног кључна реч за приступ глобалној променљивој из било које функције. У следећој скрипти, цал_перцентаге () функција је дефинисана за израчунавање процента било ког броја где се користе и глобалне и локалне променљиве. Овде, на једном је глобална променљива, и перВал је локална променљива. глобалне кључна реч се овде користи за идентификацију глобалне променљиве унутар функције, а вредност глобалне променљиве се мења унутар функције.

#!/уср/бин/енв питхон3

# Узмите целобројну вредност
на једном= инт(улазни('Унесите број:'))

# Дефинишите функцију
дефцал_перцентаге():
# Препознајте глобалну променљиву помоћу глобалне кључне речи
глобалнена једном

# Узмите целобројну вредност као проценат
перВал= инт(улазни(„Унесите процентуалну вредност:“))

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

# Одштампајте форматирани резултат
принт(' %д проценат %д = %ф'%(перВал,на једном,резултат))

# Промените вредност глобалне променљиве
на једном= 500

# Одштампајте вредност глобалне променљиве пре позивања функције
принт(' нВредност броја = %д '%на једном)

# Позовите функцију
цал_перцентаге()

# Одштампајте вредност глобалне променљиве након позивања функције
принт(' нВредност броја = %д '%на једном)

Излаз:

Следећи излаз ће се појавити након покретања скрипте. Овде се израчунава и штампа 10% од 350.

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

Следећи пример показује да се глобална променљива декларисана у једној скрипти може користити у другој скрипти. Претпоставимо, назив датотеке је глобал6.пи који ће користити глобалне променљиве дефинисане у именованој датотеци глобал5.пи . Три глобалне променљиве су декларисане у глобал5.пи . Морате да увезете глобал5 да бисте користили променљиве у другом скрипту. Сценариј глобал6.пи израчунаће плату три врсте запослених на основу улазних вредности и глобалних променљивих.

#!/уср/бин/енв питхон3
# ово је глобал5.пи датотека

# Основна структура плата предузећа
Основно= 5000
Медицал= 500
Транспорт= 500 #!/уср/бин/енв питхон3
# ово је глобал6.пи датотека

# Увезите глобалне променљиве из глобал5.пи
увозглобал5

# Узмите име запосленог
име= улазни('Унесите име запосленог:')
# Узмите назив поста
пошта= улазни('Унесите пост:')

# Покрените променљиву грешке
грешка= Нетачно

# Проверите пост и поставите основну плату на основу поста
ако(пошта.горњи() == 'ДИРЕКТОР'):
основни=глобал5.Основно+(глобал5.Основно*0.4)
елиф(пошта.горњи() == 'МАНАГЕР'):
основни=глобал5.Основно+(глобал5.Основно*0.25)
елиф(пошта.горњи() == „РАЧУН“):
основни=глобал5.Основно+(глобал5.Основно*0.15)
елсе:
# Подесите грешку на труе ако вредност поста није пронађена
грешка= Истина

# Одштампајте плату ако је грешка лажна
ако (грешка== Нетачно):
плата=основно + глобално5.Медицал+ глобал5.Транспорт
принт('Плата %с је %д'%(име,плата))
елсе:
принт('Пост није пронађен')

Излаз:

Следећи излаз ће се појавити након покретања скрипте. Овде се скрипта покреће два пута са важећим и неважећим постом.

Закључак:

Концепт глобалне променљиве у питхону објашњен је у овом водичу различитим једноставним примерима за нове кориснике питхона. Надам се да ће читаоци након читања овог водича стећи одговарајуће знање о глобалним и локалним променљивим.

Погледајте видео снимак аутора: овде