Sự khác nhau của 2 loại biến trong Python Global và Local Variables

Nội dung được viết bởi Linh Mai

Local Variables và Global Variables là hai loại biến trong Python mà chúng ta sẽ sử dụng thường xuyên khi làm việc với ngôn ngữ lập trình này. Vậy làm thế nào để phân biệt được Local Variables và Global Variables? Hãy cúng chúng mình theo dõi trong bài viết dưới đây nhé.

Phân biệt 2 loại biến trong Python

Biến Global (Global Variables)

Global Variables là các loại biến mà chúng ta tạo ra bên ngoài function. Có nghĩa là các biến mà chúng ta tạo ra bên ngoài tập hợp các câu lệnh liên quan đến hàm hoặc tổ hợp các câu lệnh liên quan đến các vòng lặp. Hầu hết các biến mà chúng ta hay sử dụng trong Python đều là biến Global hay còn gọi là Global Variables. Biến này có thể sử dụng được ở tất cả các vị trí bao gồm cả bên ngoài và bên trong một hàm nào đó trên Python.

Để hiểu rõ hơn về biến này thì các bạn hãy xem ví dụ sau đây:

Sự khác nhau của 2 loại biến trong Python Global và Local Variables

Trong hình ảnh trên các bạn có thể thấy một tập hợp câu lệnh được viết ở phía bên trái, trong đó có các thành phần sau:

  • Biến x = “Nimbus”: Biến này được khai báo ở bên ngoài với kiểu dữ liệu dạng chuỗi ký tự. Các bạn có thể nhìn kết quả hiển thị ở cửa sổ Variable Explorer như chúng mình để ở bên phải hình ảnh trên.
  • Hàm def global_var(): Hàm này là một chức năng mà chúng ta thực hiện. Chúng ta có thể sử dụng các biến bên ngoài hoặc tạo ra các biến chỉ dành cho hàm này khi thực hiện nó.
  • Câu lệnh print("Hoc" + x): Câu lệnh này kết hợp với hàm ở dòng 3 thì khi in ra sẽ được cụm từ là “Học” + x.

Khi chúng ta định nghĩa ra một hàm như trên thì chỉ cần gọi hàm global_var() thì kết quả in ra sẽ giống như trong phần Output là “Học Nimbus”.

Giả sử các bạn có 2 biến x được gán giá trị khác nhau trong Python như sau:

Sự khác nhau của 2 loại biến trong Python Global và Local Variables

Hai biến trong Python này đều là x nhưng sẽ có phạm vi sử dụng khác nhau. Bây giờ các bạn hãy xem kết quả hiển thị trong cửa sổ Variable Explorer để hình dung rõ hơn về các biến này:

Sự khác nhau của 2 loại biến trong Python Global và Local Variables

Nếu bạn thực hiện hàm từ dòng 3-5 thì biến x sẽ có giá trị là “Python”. Tuy nhiên, nếu thực hiện câu lệnh ở dòng 7, dòng 8 thì giá trị sẽ là “Nimbus”. 

Để biết được lý do tại sao lại có sự khác nhau của kết quả in ra này thì các bạn đọc tiếp để tìm hiểu về Local Variables nhé.

Xem thêm: Keyword và những câu lệnh đầu tiên trong lập trình Python

Biến Local (Local Variables)

Khi chúng ta tạo ra một biến trong Python ở trong hàm (trong ví dụ biên là biến x = Python) có cùng tên với một biến khác ở ngoài hàm (trong ví dụ trên là biến x = Nimbus) thì biến ở trong hàm sẽ được gọi là biến Local hay còn gọi là Local Variables.

Biến Local chỉ có giá trị sử dụng trong phạm vi của hàm hoặc tập hợp các câu lệnh mà chúng ta quy ước. Khi chúng ta không dùng đến hàm nữa thì các câu lệnh khác sẽ lấy theo giá trị của biến ở ngoài hàm (biến global).

Lưu ý: Nếu như biến global trùng tên với biến local thì sẽ được giữ nguyên giá trị ban đầu. Giá trị của biến local sẽ không làm ảnh hưởng đến nó.

Vậy nếu chúng ta muốn giá trị của biến local vẫn được giữ nguyên ở khu vực nằm ngoài hàm mà chúng ta đã quy ước thì sao?

Khi đó chúng ta sẽ sử dụng keyword trong Python là global cho hàm như sau:

Sự khác nhau của 2 loại biến trong Python Global và Local Variables

Trong hình ảnh trên các bạn có thể thấy chúng mình đã quy ước x là global nên khi in ra kết quả cho tất cả các dòng thì đều thu được là “Python”.

Xem thêm: Python là gì? 5 cách học Python hiệu quả cho người mới bắt đầu

Ví dụ về sự khác biệt của biến global và biến local

Qua phần trên thì các bạn cũng đã biết cách để phân biệt được biến global và biến local rồi. Chúng ta sẽ phân tích thêm một ví dụ nữa để làm rõ sự khác biệt của 2 loại biến trong Python.

Trước hết, các bạn xem tập hợp các câu lệnh ở hình ảnh dưới đây:

Sự khác nhau của 2 loại biến trong Python Global và Local Variables

Trong tập hợp các câu lệnh trên bao gồm những thành phần sau:

  • Câu 1-2: Chúng ta có biến “x = Nimbus” và in ra “Hoc” + x thì sẽ được kết quả là Hoc Nimbus.
  • Câu 4-6: Chúng ta định nghĩa ra một hàm là def global_var(): và biến là x được quy ước là global. Biến x được gán giá trị bằng "Python" nên khi thực hiện lệnh in print ("Hoc" + x) thì kết quả mà chúng ta thu được là Hoc Python.
  • Câu 9-10: Bởi vì chúng ta đã khai báo biến x là biến global ở dòng 4-6 nên khi gọi global_var ở đây thì phần in ra sẽ theo giá trị của biến x ở khu vực dòng 4-6 nên cũng là Hoc Python.
Sự khác nhau của 2 loại biến trong Python Global và Local Variables

Lưu ý: Tuy việc phân biệt 2 biến này không quá khó khăn nhưng với các bạn mới học Python thì nên hạn chế việc đặt tên biến trùng nhau. Điều này sẽ khiến bạn gặp khó khăn khi xác định phạm vi sử dụng của biến.

Xem thêm: Thư viện mã Python hữu ích cho bạn sử dụng hàng ngày

Kết luận

Qua bài viết này, có bạn đã có được thêm biến thức về biến trong Python. Chúc các bạn thành công!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông