Локални становници Питхона ()

Метод лоцал () ажурира и враћа речник тренутне табеле локалних симбола.

Табела симбола је структура података коју одржава преводилац и која садржи све потребне информације о програму.

Ту спадају имена променљивих, методе, класе итд.

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

  1. Глобална табела симбола
  2. Табела са локалним симболима

Глобални симбол табле складишти све информације у вези са глобалном оквиру програма, и приступа у Питхон користећи глобалс () метод.

Глобални опсег садржи све функције, променљиве које нису повезане са било којом класом или функцијом.

Такође, Локална табела симбола чува све информације повезане са локалним опсегом програма и приступа јој се у Питхону помоћу locals()методе.

Локални опсег може бити унутар функције, унутар класе итд.

Препоручена литература: Простор имена и опсег у Питхону

Синтакса локалних ()

Синтакса locals()методе је:

 локално становништво ()

домаћи () параметри

locals() метода не узима никакве параметре.

Повратна вредност од локалног становништва ()

locals() метода ажурира и враћа речник повезан са тренутном табелом локалних симбола.

Пример 1: Како локално становништво () ради у Питхону?

 locals()

Оутпут

 ('Ин': ('', 'локално становништво ()'), 'Оут': (), '_': '', '__': '', '___': '', '__буилтин__':, ' __буилтинс__ ':,' __наме__ ':' __маин__ ',' _дх ': (' / хоме / репл '),' _и ':' ',' _и1 ':' локално становништво () ',' _их ': (' ', 'домаћи ()'), '_ии': '', '_иии': '', '_ох': (), '_сх':, 'екит':, 'гет_ипитхон':>, 'куит':) 

Напомена: globals() и locals()табела симбола за глобално окружење је иста.

Пример 2: Како локално становништво () ради у локалном опсегу?

 def localsNotPresent(): return locals() def localsPresent(): present = True return locals() print('localsNotPresent:', localsNotPresent()) print('localsPresent:', localsPresent())

Оутпут

 лоцалНотПресент: () лоцалПресент: ('пресент': Труе) 

Пример 3: Ажурирање вредности речника лоцал ()

 def localsPresent(): present = True print(present) locals()('present') = False; print(present) localsPresent()

Оутпут

 Тачно Тачно 

За разлику од globals()речника који одражава промену стварне глобалне табеле, locals()речник можда неће променити информације унутар табеле локалног становништва.

Занимљиви Чланци...