Penduduk tempatan Python ()

Kaedah penduduk tempatan () mengemas kini dan mengembalikan kamus jadual simbol tempatan semasa.

Jadual simbol adalah struktur data yang dikendalikan oleh penyusun yang mengandungi semua maklumat yang diperlukan mengenai program ini.

Ini merangkumi pemboleh ubah nama, kaedah, kelas, dll.

Terdapat dua jenis jadual simbol.

  1. Jadual simbol global
  2. Jadual simbol tempatan

A Global Kedai jadual simbol semua maklumat yang berkaitan dengan skop global program, dan diakses dalam Python menggunakan Globals () kaedah.

Skop global mengandungi semua fungsi, pemboleh ubah yang tidak berkaitan dengan kelas atau fungsi apa pun.

Begitu juga, Jadual simbol tempatan menyimpan semua maklumat yang berkaitan dengan skop program tempatan, dan diakses di Python menggunakan locals()kaedah.

Skop tempatan boleh berada dalam fungsi, dalam kelas, dll.

Bacaan yang Disyorkan: Ruang nama dan ruang lingkup di Python

Sintaks penduduk tempatan ()

Sintaks locals()kaedah adalah:

 penduduk tempatan ()

penduduk tempatan () Parameter

locals() kaedah tidak mengambil parameter.

Nilai pulangan daripada penduduk tempatan ()

locals() kaedah mengemas kini dan mengembalikan kamus yang berkaitan dengan jadual simbol tempatan semasa.

Contoh 1: Bagaimana penduduk tempatan () bekerja di Python?

 locals()

Pengeluaran

 ('Dalam': ('', 'penduduk tempatan ()'), 'Keluar': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' penduduk tempatan () ',' _ih ': (' ', 'penduduk tempatan ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit':, 'get_ipython':>, 'quit':) 

Nota: globals() dan locals()jadual simbol untuk persekitaran global adalah sama.

Contoh 2: Bagaimana penduduk tempatan () berfungsi dalam ruang lingkup tempatan?

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

Pengeluaran

 penduduk tempatanTidak Hadir: () penduduk tempatanSedia: ('sekarang': Betul) 

Contoh 3: Mengemas kini nilai kamus penduduk tempatan ()

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

Pengeluaran

 Betul betul 

Tidak seperti, globals()kamus yang mencerminkan perubahan ke jadual global yang sebenarnya, locals()kamus mungkin tidak mengubah maklumat di dalam jadual penduduk tempatan.

Artikel menarik...