Computer >> Máy Tính >  >> Lập trình >> Python

Phạm vi biến hoạt động như thế nào trong Mô-đun Python?

Không gian tên là một cách để triển khai phạm vi. Trong Python, mỗi gói, mô-đun, lớp, hàm và hàm phương thức sở hữu một "không gian tên" trong đó các tên biến được phân giải. Khi một chức năng, mô-đun hoặc gói được đánh giá (nghĩa là bắt đầu thực thi), một không gian tên sẽ được tạo. Hãy coi nó như một "bối cảnh đánh giá". Khi một hàm, v.v., kết thúc quá trình thực thi, không gian tên sẽ bị xóa. Các biến bị loại bỏ. Thêm vào đó, có một không gian tên chung được sử dụng nếu tên đó không có trong không gian tên cục bộ.

Các biến thường chỉ được tạo trong một không gian tên cục bộ. Các câu lệnh toàn cục và phi địa phương có thể tạo các biến trong không gian tên cục bộ.

Độ phân giải phạm vi là bắt buộc khi một biến được sử dụng để xác định giá trị của nó đến từ đâu. Độ phân giải phạm vi trong Python tuân theo quy tắc LEGB.

L, Địa phương - Các tên được gán theo bất kỳ cách nào trong một hàm (hoặc lambda) và không được khai báo toàn cục trong hàm đó.

E, Các địa phương có chức năng bao trùm - Đặt tên trong phạm vi cục bộ của bất kỳ và tất cả các hàm bao quanh tĩnh (hoặc lambdas), từ trong ra ngoài.

G, Toàn cầu (mô-đun) - Tên được chỉ định ở cấp cao nhất của tệp mô-đun hoặc bằng cách thực thi một câu lệnh chung trong một định nghĩa trong tệp.

B, Tích hợp sẵn (Python) - Tên được chỉ định trước trong mô-đun tên tích hợp:open, range, SyntaxError, v.v.