Trong bài các biến Python lần trước, khi nhắc đến vấn đề thay đổi giá trị của biến toàn cục trong một hàm mình có nói phải dùng từ khóa Python là global, nhưng chưa nói rõ cách dùng vì muốn dành riêng một bài để viết chi tiết về từ khóa này.
Trong bài các biến Python lần trước, khi nhắc đến vấn đề thay đổi giá trị của biến toàn cục trong một hàm mình có nói phải dùng từ khóa Python là global, nhưng chưa nói rõ cách dùng vì muốn dành riêng một bài để viết chi tiết về từ khóa này.
Trong ví dụ này bạn sẽ biết cách để sử dụng biến toàn cục trong hàm lồng nhau.
Ở đây, chúng ta khai báo biến toàn cục trong hàm lồng ham2(). Trong ham1(), x không bị ảnh hưởng bởi từ khóa global.
Trước và sau khi gọi hàm ham2(), x sẽ lấy giá trị của biến cục bộ là 20. Bên ngoài hàm ham1(), x sẽ lấy giá trị toàn cục, được khia báo trong ham2() là 25. Đây là do ta sử dụng từ khóa global trong x để tạo biến toàn cục trong ham2(). Nếu chúng ta thực hiện bất kỳ sự thay đổi nào cho x trong ham2() thì thay đổi sẽ xuất hiện bên ngoài phạm vi cục bộ.
Làm bài tập Python có giải để rèn luyện thêm bạn nhé.
Python là một ngôn ngữ lập trình kịch bản (scripting language) do Guido van Rossum tạo ra năm 1990.
Đến nay thì cộng đồng người sử dụng ngôn ngữ này rất đông, nếu so sánh từ bảng xếp hạng các ngôn ngữ năm 2017 thì Python đứng tứ 5 trong top 10 ngôn ngữ phổ biến nhất.
Với Python bạn có thể làm được nhiều điều khác nhau, như xây dựng web, application hay xây dựng các ứng dụng trí tuệ nhân tạo ....
All Courses, Phát triển bản thân
(141) 4.7 đánh giá trung bình
TESOL (Teaching English to Speakers of Other Languages) là chứng chỉ quốc tế về phương pháp giảng dạy tiếng Anh dành cho giáo viên giảng dạy tiếng Anh tại những quốc gia sử dụng tiếng Anh như một ngoại ngữ. Chứng chỉ Tesol sẽ được cấp bởi nhiều tổ chức, trường đại học uy tín trên Thế giới (Hoa Kỳ, Anh, Úc,…). Mọi chứng chỉ TESOL đều có giá trị quốc tế và vô thời hạn. Về mặt pháp lý, các chứng chỉ TESOL đều giá trị NGANG NHAU giữa các tổ chức. Sự khác biệt ở đây là về danh tiếng của mỗi tổ chức và nội dung đào tạo thực tế tại các trung tâm đào tạo TESOL.
Giả sử ta cần sửa giá trị của a thành a + 9 trong hàm them(), nếu viết code sau:
Bạn sẽ nhận được thông báo lỗi:
Đó là do chúng ta chỉ có thể truy cập vào biến toàn cục mà không thể chỉnh sửa nó trong một hàm. Giải pháp cho vấn đề này là sử dụng từ khóa global. Khi đó, đoạn code trên sẽ được viết lại như sau:
Chạy code trên ta được kết quả đầu ra là:
Ở đây, chúng ta định nghĩa a là một biến toàn cục trong hàm them(), sau đó tăng giá trị của a lên 9, tức là a = a + 9. Sau đó, chúng ta gọi hàm them(), cuối cùng, in biến toàn cục a. Kết quả là thay đổi được thực hiện cho biến a trong hàm them() cũng xảy ra trên biến toàn cục bên ngoài hàm, a = 10.
Trong Python, chúng ta tạo ra một mô-dun config.py để giữ các biến toàn cục và chia sẻ thông tin thông qua các mô-đun Python trong cùng một chương trình. Đây là cách chúng ta có thể chia sẻ biến toàn cục qua các mô-đun Python.
Tạo một file config.py để lưu trữ biến toàn cục:
Tạo một file update.py để thay đổi các biến toàn cục:
Viết file main.py để kiểm tra sự thay đổi:
Khi chạy file main.py, đầu ra sẽ là:
Ở đây, ta đã tạo ra 3 file là config.py, update.py và main.py. Mô-đun config.py lưu trữ 2 biến toàn cục là a và b. Trong file update.py chúng ta nhập mô-đun config.py và sửa đổi giá trị của biến a, b. Tương tự trong file main.py, ta nhập cả 2 mô-đun config.py và update.py. Cuối cùng, chúng ta dùng lệnh in để kiểm tra xem giá trị của biến a và b đã được thay đổi hay chưa.
Khi chạy code trên chúng ta nhận được đầu ra là 1. Tuy nhiên, có vài trường hợp chúng ta cần chỉnh sửa biến toàn cục từ bên trong hàm, đó chính là trường hợp mình nhắc đến từ đầu, vậy phải làm sao?