Python yerelleri ()

Locals () yöntemi günceller ve geçerli yerel sembol tablosunun bir sözlüğünü döndürür.

Bir sembol tablosu, program hakkında gerekli tüm bilgileri içeren bir derleyici tarafından tutulan bir veri yapısıdır.

Bunlar değişken isimleri, yöntemleri, sınıfları vb. İçerir.

Esas olarak iki tür sembol tablosu vardır.

  1. Global sembol tablosu
  2. Yerel sembol tablosu

Bir Küresel sembol tablo depolar tüm programın küresel kapsamı ile ilgili bilgiler ve () yöntemi globalsi kullanarak Python erişilir.

Genel kapsam, herhangi bir sınıf veya işlevle ilişkili olmayan tüm işlevleri, değişkenleri içerir.

Aynı şekilde, Yerel sembol tablosu, programın yerel kapsamı ile ilgili tüm bilgileri depolar ve Python'da locals()yöntem kullanılarak erişilir .

Yerel kapsam, bir işlev içinde, bir sınıf içinde vb. Olabilir.

Önerilen Kaynaklar: Python'da ad alanı ve kapsamı

Yerellerin sözdizimi ()

locals()Yöntemin sözdizimi şöyledir:

 yerliler ()

locals () Parametreler

locals() yöntem herhangi bir parametre almaz.

Yerellerden dönüş değeri ()

locals() yöntem güncel yerel sembol tablosuyla ilişkili sözlüğü günceller ve döndürür.

Örnek 1: locals () Python'da nasıl çalışır?

 locals()

Çıktı

 ('Giriş': ('', 'yereller ()'), 'Çıkış': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' locals () ',' _ih ': (' ', 'yereller ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'çıkış':, 'get_ipython':>, 'çık':) 

Not: globals() ve locals()global ortam için sembol tablosu aynıdır.

Örnek 2: locals () yerel bir kapsam içinde nasıl çalışır?

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

Çıktı

 localsNotPresent: () localsPresent: ('mevcut': Doğru) 

Örnek 3: Yereller () sözlük değerlerini güncelleme

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

Çıktı

 Doğru doğru 

globals()Gerçek genel tablodaki değişikliği yansıtan sözlüğün aksine, sözlük locals()yereller tablosundaki bilgileri değiştirmeyebilir.

Ilginç makaleler...