Ντόπιοι της Python ()

Η μέθοδος των ντόπιων () ενημερώνει και επιστρέφει ένα λεξικό του τρέχοντος τοπικού πίνακα συμβόλων.

Ένας πίνακας συμβόλων είναι μια δομή δεδομένων που διατηρείται από έναν μεταγλωττιστή που περιέχει όλες τις απαραίτητες πληροφορίες σχετικά με το πρόγραμμα.

Αυτά περιλαμβάνουν μεταβλητά ονόματα, μεθόδους, τάξεις κ.λπ.

Υπάρχουν κυρίως δύο είδη πίνακα συμβόλων.

  1. Παγκόσμιος πίνακας συμβόλων
  2. Τοπικός πίνακας συμβόλων

Ένας καθολικός πίνακας συμβόλων αποθηκεύει όλες τις πληροφορίες που σχετίζονται με το παγκόσμιο πεδίο εφαρμογής του προγράμματος και έχει πρόσβαση στο Python χρησιμοποιώντας τη μέθοδο globals ().

Το καθολικό εύρος περιέχει όλες τις συναρτήσεις, μεταβλητές που δεν σχετίζονται με καμία κλάση ή συνάρτηση.

Ομοίως, ο πίνακας Τοπικών συμβόλων αποθηκεύει όλες τις πληροφορίες που σχετίζονται με το τοπικό πεδίο εφαρμογής του προγράμματος και είναι προσβάσιμος στη locals()μέθοδο Python χρησιμοποιώντας τη μέθοδο.

Το τοπικό εύρος θα μπορούσε να βρίσκεται μέσα σε μια συνάρτηση, σε μια τάξη κ.λπ.

Συνιστώμενη ανάγνωση: Χώρος ονομάτων και πεδίο εφαρμογής στο Python

Σύνταξη ντόπιων ()

Η σύνταξη της locals()μεθόδου είναι:

 ντόπιοι ()

ντόπιοι () Παράμετροι

locals() μέθοδος δεν παίρνει καμία παράμετρο.

Επιστροφή τιμή από ντόπιους ()

locals() η μέθοδος ενημερώνει και επιστρέφει το λεξικό που σχετίζεται με τον τρέχοντα τοπικό πίνακα συμβόλων.

Παράδειγμα 1: Πώς λειτουργούν οι ντόπιοι () στο Python;

 locals()

Παραγωγή

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

Σημείωση: globals() και ο locals()πίνακας συμβόλων για το παγκόσμιο περιβάλλον είναι ο ίδιος.

Παράδειγμα 2: Πώς λειτουργούν οι ντόπιοι () εντός ενός τοπικού πεδίου;

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

Παραγωγή

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

Παράδειγμα 3: Ενημέρωση ντόπιων () τιμών λεξικού

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

Παραγωγή

 Αλήθεια αλήθεια 

Σε αντίθεση με το globals()λεξικό που αντικατοπτρίζει την αλλαγή στον πραγματικό παγκόσμιο πίνακα, το locals()λεξικό δεν μπορεί να αλλάξει τις πληροφορίες στον πίνακα των ντόπιων.

ενδιαφέροντα άρθρα...