Python-inwoners

De methode locals () werkt bij en retourneert een woordenboek van de huidige lokale symbooltabel.

Een symbolentabel is een datastructuur die wordt onderhouden door een compiler en die alle benodigde informatie over het programma bevat.

Deze omvatten variabelenamen, methoden, klassen, enz.

Er zijn hoofdzakelijk twee soorten symbooltabellen.

  1. Globale symbooltabel
  2. Lokale symbooltabel

Een globale symbooltabel slaat alle informatie op met betrekking tot de globale reikwijdte van het programma en is toegankelijk in Python met de methode globals ().

Het globale bereik bevat alle functies, variabelen die niet aan een klasse of functie zijn gekoppeld.

Evenzo slaat de lokale symbooltabel alle informatie op met betrekking tot de lokale reikwijdte van het programma en is toegankelijk in Python met behulp van de locals()methode.

Het lokale bereik kan binnen een functie, binnen een klasse, etc. zijn.

Aanbevolen literatuur: naamruimte en bereik van in Python

Syntaxis van locals

De syntaxis van locals()methode is:

 lokale bevolking()

locals () Parameters

locals() methode heeft geen parameters.

Retourwaarde van locals ()

locals() methode werkt het woordenboek bij dat is gekoppeld aan de huidige lokale symbooltabel en geeft het terug.

Voorbeeld 1: hoe werkt locals () in Python?

 locals()

Uitvoer

 ('In': ('', 'locals ()'), 'Out': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' locals () ',' _ih ': (' ', 'locals ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit':, 'get_ipython':>, 'quit':) 

Opmerking: globals() en locals()symbooltabel voor de globale omgeving is hetzelfde.

Voorbeeld 2: hoe werkt locals () binnen een lokaal bereik?

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

Uitvoer

 localsNotPresent: () localsPresent: ('present': True) 

Voorbeeld 3: woordenboekwaarden van locals () bijwerken

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

Uitvoer

 Waar waar 

In tegenstelling tot het globals()woordenboek dat de wijziging van de werkelijke globale tabel weerspiegelt, locals()mag het woordenboek de informatie in de lokale tabel niet wijzigen.

Interessante artikelen...