Người dân địa phương Python ()

Phương thức local () cập nhật và trả về một từ điển của bảng ký hiệu cục bộ hiện tại.

Bảng ký hiệu là một cấu trúc dữ liệu được duy trì bởi trình biên dịch, nó chứa tất cả các thông tin cần thiết về chương trình.

Chúng bao gồm tên biến, phương thức, lớp, v.v.

Chủ yếu có hai loại bảng ký hiệu.

  1. Bảng ký hiệu toàn cầu
  2. Bảng ký hiệu địa phương

Một bảng ký hiệu toàn cầu lưu trữ tất cả thông tin liên quan đến phạm vi toàn cầu của chương trình và được truy cập bằng Python bằng phương thức perfals ().

Phạm vi toàn cục chứa tất cả các hàm, các biến không được liên kết với bất kỳ lớp hoặc hàm nào.

Tương tự như vậy, bảng ký hiệu cục bộ lưu trữ tất cả thông tin liên quan đến phạm vi cục bộ của chương trình và được truy cập bằng locals()phương thức Python .

Phạm vi cục bộ có thể nằm trong một hàm, trong một lớp, v.v.

Đọc đề xuất: Không gian tên và phạm vi của trong Python

Cú pháp của dân địa phương ()

Cú pháp của locals()phương thức là:

 người dân địa phương ()

địa phương () Tham số

locals() phương thức không nhận bất kỳ tham số nào.

Trả lại giá trị từ người dân địa phương ()

locals() cập nhật phương thức và trả về từ điển được liên kết với bảng ký hiệu cục bộ hiện tại.

Ví dụ 1: Cách local () hoạt động trong Python?

 locals()

Đầu ra

 ('Trong': ('', 'local ()'), 'Out': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' local () ',' _ih ': (' ', 'local ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit':, 'get_ipython':>, 'bỏ':) 

Lưu ý: globals()locals()bảng ký hiệu cho môi trường toàn cầu giống nhau.

Ví dụ 2: Cách local () hoạt động trong phạm vi cục bộ?

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

Đầu ra

 localNotPresent: () localPresent: ('hiện tại': Đúng) 

Ví dụ 3: Cập nhật giá trị từ điển local ()

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

Đầu ra

 Đúng rồi 

Không giống như globals()từ điển phản ánh sự thay đổi đối với bảng toàn cục thực tế, locals()từ điển có thể không thay đổi thông tin bên trong bảng địa phương.

thú vị bài viết...