Biến toàn bộ là gì
Khai báo biến toàn cục trong Python là gì? Biến cục bộ, biến nonlocal được sử dụng trong Python như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé! Show Biến trong Python là gì?Biến trong Python là các container lưu trữ giá trị dữ liệu. Python không có lệnh cho khai báo biến. Một biến được tạo ra vào lần đầu tiên bạn gán một giá trị cho nó. Ví dụ:
Biến không cần được khai báo với bất kỳ kiểu type, và thậm chí có thể thay đổi kiểu sau khi thiết lập chúng.
Nếu muốn xác định kiểu dữ liệu của một biến, bạn có thể áp dụng phương pháp ép kiểu như ví dụ sau:
Xác định kiểu biến trong PythonBạn có thể lấy kiểu dữ liệu của một biến bằng hàm 8. Ví dụ:
Giờ chúng ta sẽ đi sâu vào tìm hiểu biến toàn cục (global), cục bộ (local) và nonlocal trong Python. Biến toàn cục trong PythonTrong ngôn ngữ lập trình Python, một biến được khai báo bên ngoài hàm hoặc trong phạm vi toàn cục được gọi là biến toàn cục hay biến global. Biến toàn cục có thể được truy cập từ bên trong hoặc bên ngoài hàm. Hãy xem ví dụ về cách tạo biến toàn cục trong Python.
Trong ví dụ trên, ta khai báo biến x là biến toàn cục, và định nghĩa hàm 9 để in biến x. Cuối cùng ta gọi hàm 9 để in giá trị của biến 1. Chạy code trên ta sẽ được kết quả là:
Chuyện gì sẽ xảy ra nếu bạn thay đổi giá trị của x trong hàm?
Nếu chạy code này bạn sẽ nhận được thông báo lỗi:
Lỗi này xuất hiện là do Python xử lý 1 như một biến cục bộ và 1 không được định nghĩa trong 9.Để thay đổi biến toàn cục trong một hàm bạn sẽ phải sử dụng từ khóa global. Chúng tôi sẽ nói kỹ hơn trong bài về từ khóa global. Biến cục bộ trong PythonBiến được khai báo bên trong một hàm hoặc trong phạm vi cục bộ được gọi là biến cục bộ hay biến local.
Khi chạy code trên bạn sẽ nhận được thông báo lỗi:
Lỗi này xuất hiện là do chúng ta đã cố truy cập vào biến cục bộ y trong phạm vi toàn cục, nhưng y chỉ làm việc trong hàm 9 hoặc phạm vi cục bộ.Thông thường, để tạo một biến cục bộ, chúng ta sẽ khai báo nó trong một hàm như ví dụ dưới đây: 0Chạy code trên ta sẽ được kết quả 1Chúng ta quay trở lại xem xét vấn đề trước đó, lúc 1 là một biến toàn cục và chúng ta muốn thay đổi 1 trong 9.Biến cục bộ và biến toàn cụcỞ đây, chúng ta sẽ học cách dùng biến cục bộ và toàn cục trong cùng một code. 2Chạy code trên ta sẽ có đầu ra: 3Trong code trên, chúng ta khai báo 1 là biến toàn cục và 0 là biến cục bộ trong 9 và dùng toán tử * để thay đổi biến toàn cục và in cả giá trị của x và y. Sau khi gọi hàm 9 giá trị của x sẽ thành 4 vì được nhân đôi.Ví dụ sử dụng biến toàn cục và cục bộ trùng tên: 4Sau khi chạy code trên ta có đầu ra: 5Trong code trên, chúng ta sử dụng cùng tên x cho cả biến cục bộ và biến toàn cục. Khi in cùng biến x chúng ta nhận được hai kết quả khác nhau vì biến được khai báo ở cả hai phạm vi, cục bộ (bên trong hàm 9) và toàn cục (bên ngoài hàm 9).Khi chúng ta in biến trong hàm 9 nó sẽ xuất ra 6, đây được gọi là phạm vi cục bộ của biến. Tương tự khi ta in biến bên ngoài hàm 9 sẽ cho ra 8, đây là phạm vi toàn cục của biến.Biến nonlocal trong PythonTừ nonlocal này mình không biết dịch sang tiếng Việt sao cho chuẩn. Trong Python, biến nonlocal được sử dụng trong hàm lồng nhau nơi mà phạm vi cục bộ không được định nghĩa. Nói dễ hiểu thì biến nonlocal không phải biến local, không phải biến global, bạn khai báo một biến là nonlocal khi muốn sử dụng nó ở phạm vi rộng hơn local, nhưng chưa đến mức global. Để khai báo biến nonlocal ta cần dùng đến từ khóa nonlocal. Ví dụ: 6Chạy code trên bạn sẽ có đầu ra: 7Trong code trên có một hàm lồng là 9, ta dùng từ khóa 0 để tạo biến nonlocal. Hàm 9 được định nghĩa trong phạm vi của 2.Lưu ý: Nếu chúng ta thay đổi giá trị của biến nonlocal, sự thay đổi sẽ xuất hiện trong biến cục bộ. Đừng quên làm bài tập Python bạn nhé.
Thứ Ba, 27/12/2022 17:10 4,2 ★ 21 👨 30.841 #Python 2 Bình luận Sắp xếp theo Xóa Đăng nhập để Gửi
Bạn nên đọc
Python
Python 3
Giới thiệu | Điều khoản | Bảo mật | Hướng dẫn | Ứng dụng | Liên hệ | Quảng cáo | Facebook | Youtube | DMCA Giấy phép số 362/GP-BTTTT. Bộ Thông tin và Truyền thông cấp ngày 30/06/2016. Cơ quan chủ quản: CÔNG TY CỔ PHẦN MẠNG TRỰC TUYẾN META. Địa chỉ: 56 Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội. Điện thoại: 024 2242 6188. Email: [email protected]. Chịu trách nhiệm nội dung: Lê Ngọc Lam. Bản quyền © 2003-2022 QuanTriMang.com. Giữ toàn quyền. Không được sao chép hoặc sử dụng hoặc phát hành lại bất kỳ nội dung nào thuộc QuanTriMang.com khi chưa được phép. |