Phạm vi của các biến trong python là gì?
Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu cách phạm vi biến Python hoạt động. Sau hướng dẫn, bạn sẽ hiểu rõ về phạm vi tích hợp, cục bộ và toàn cầu Show Giới thiệu về phạm vi biến PythonKhi bạn gán một đối tượng cho một biến, biến sẽ tham chiếu đối tượng đó trong bộ nhớ. Và nó nói rằng biến được liên kết với đối tượng Sau khi gán, bạn có thể truy cập đối tượng bằng cách sử dụng tên biến trong các phần khác nhau của mã của bạn. Tuy nhiên, bạn không thể truy cập biến ở mọi nơi trong mã Tên biến và ràng buộc của nó (tên và đối tượng) chỉ tồn tại trong các phần cụ thể của mã của bạn Phần mã nơi bạn xác định tên/liên kết được gọi là phạm vi từ vựng của các biến Python lưu trữ các ràng buộc này trong một thứ gọi là không gian tên. Mỗi phạm vi có không gian tên riêng của mình Và bạn có thể nghĩ rằng một không gian tên là một bảng chứa nhãn và tham chiếu mà nhãn được gắn vào phạm vi toàn cầuPhạm vi toàn cầu về cơ bản là phạm vi mô-đun. Phạm vi toàn cầu chỉ bao gồm một tệp mã nguồn Python duy nhất Python không có phạm vi toàn cầu thực sự trải rộng trên tất cả các mô-đun ngoại trừ phạm vi tích hợp sẵn Phạm vi tích hợp là một phạm vi đặc biệt cung cấp các đối tượng có sẵn trên toàn cầu như 2, 3, 4, 5 và 6 Về cơ bản, các biến tích hợp và toàn cục tồn tại ở mọi nơi bên trong một mô-đun Trong nội bộ, phạm vi toàn cầu được lồng vào bên trong phạm vi tích hợp Nếu bạn truy cập một biến từ một phạm vi và Python không tìm thấy nó trong không gian tên của phạm vi đó, thì nó sẽ tìm kiếm trong không gian tên của phạm vi kèm theo Giả sử rằng bạn có câu lệnh sau trong một mô-đun có tên là 7
Trong mô-đun 7 này, Python tìm kiếm hàm 2 trong phạm vi mô-đun ( 7) Vì Python không tìm thấy định nghĩa của hàm 2 trong phạm vi mô-đun 7, nên Python đi đến phạm vi kèm theo, là phạm vi tích hợp sẵn và tìm hàm 2 ở đó. Trong trường hợp này, nó có thể tìm thấy hàm 2 trong phạm vi tích hợp Nếu bạn thay đổi câu lệnh thành câu lệnh sau, bạn sẽ gặp lỗi thời gian chạy
Trong ví dụ này, Python không tìm thấy 55 trong phạm vi toàn cầu hiện tại. Do đó, Python tìm kiếm nó trong phạm vi kèm theo, là phạm vi tích hợp sẵn Tuy nhiên, biến 55 không tồn tại trong phạm vi tích hợp. Do đó, Python đưa ra một ngoại lệ 57 5 phạm vi cục bộKhi tạo một hàm, bạn có thể xác định các tham số và biến cho hàm. Ví dụ 9 Khi bạn thực thi mã, Python mang hai giai đoạn. biên soạn và thực hiện Khi Python biên dịch tệp, nó sẽ thêm hàm 58 vào phạm vi toàn cầu. Ngoài ra, Python xác định rằng các biến 55, 90 và 91 bên trong hàm 92 sẽ là cục bộ của hàm 92. Và Python sẽ không tạo các biến 55, 90 và 91 cho đến khi hàm được thực thi Mỗi khi bạn gọi một hàm, Python sẽ tạo một phạm vi mới. Python cũng gán các biến được xác định bên trong hàm cho phạm vi đó. Và phạm vi này được gọi là phạm vi chức năng cục bộ hoặc phạm vi cục bộ Trong ví dụ của chúng ta, khi bạn gọi hàm 92 0 … Python tạo phạm vi cục bộ cho lệnh gọi hàm 92 Ngoài ra, Python tạo các biến cục bộ 55, 90 và 91 trong không gian tên cục bộ và liên kết chúng với các giá trị 02, 03 và 04 Khi chức năng hoàn thành, Python sẽ xóa phạm vi cục bộ. Và tất cả các biến cục bộ như biến 55, 90 và 91 đều nằm ngoài phạm vi. Nếu bạn cố gắng truy cập các biến này từ bên ngoài hàm 92, bạn sẽ gặp lỗi Và nếu bạn gọi lại hàm 92 3 … Python tạo một phạm vi cục bộ mới và các biến bao gồm 55, 90 và 91, đồng thời liên kết chúng với các giá trị 33, 34 và 35 tra cứu biếnTrong Python, phạm vi được lồng vào nhau. Ví dụ: phạm vi cục bộ được lồng trong phạm vi mô-đun. Và phạm vi mô-đun được lồng bên trong phạm vi tích hợp Khi bạn truy cập một đối tượng được liên kết với một biến, Python sẽ cố gắng tìm đối tượng
Từ khóa toàn cầuKhi bạn truy xuất giá trị của một biến toàn cục từ bên trong một hàm, Python sẽ tự động tìm kiếm không gian tên của phạm vi cục bộ và lên chuỗi của tất cả các không gian tên phạm vi kèm theo. Ví dụ 0 Trong ví dụ này, khi hàm 36 đang chạy, Python sẽ tìm biến 55 trong phạm vi cục bộ Vì Python không tìm thấy nó, nên nó tìm kiếm biến trong phạm vi toàn cầu. Và Python có thể tìm thấy biến 55 trong phạm vi toàn cầu trong trường hợp này Tuy nhiên, nếu bạn gán một giá trị cho một biến toàn cục từ bên trong một hàm, thay vào đó Python sẽ đặt biến đó vào không gian tên cục bộ. Ví dụ 4 đầu ra 5 Tại thời điểm biên dịch, Python hiểu 55 là một biến cục bộ Khi chức năng 00 đang chạy, Python tìm thấy 55 trong phạm vi cục bộ. Câu lệnh 02 bên trong hàm 00 hiển thị giá trị của 55, bằng 0 Khi chúng tôi in 55 sau khi chức năng 00 hoàn thành, thay vào đó, nó hiển thị 10 Trong ví dụ này, biến 55 cục bộ che dấu biến 55 toàn cầu Nếu bạn muốn truy cập một biến toàn cục từ bên trong một hàm, bạn có thể sử dụng từ khóa 09. Ví dụ Phạm vi của các biến là gì?Nói một cách đơn giản, phạm vi của một biến là thời gian tồn tại của nó trong chương trình . Điều này có nghĩa là phạm vi của một biến là khối mã trong toàn bộ chương trình nơi biến được khai báo, sử dụng và có thể được sửa đổi.
4 loại phạm vi biến là gì?Phạm vi cục bộ, Phạm vi toàn cầu, Phạm vi kèm theo và Phạm vi tích hợp . Phạm vi địa phương. Phạm vi cục bộ đề cập đến các biến được xác định trong hàm hiện tại.
Có bao nhiêu loại phạm vi biến trong Python?Có bốn loại chính của phạm vi biến và là cơ sở cho quy tắc LEGB. LEGB là viết tắt của Cục bộ -> Kèm theo -> Toàn cầu -> Tích hợp.
Hai phạm vi cơ bản của biến trong Python là gì?Biến toàn cục và biến cục bộ
. |