‫Oh Boy.
‫Có một số mã trên màn hình và nó trông rất khó hiểu.
‫Đây là một ví dụ về một hàm thực sự phức tạp, phức tạp mà bạn sẽ không bao giờ viết, nhưng nó sẽ
‫tốt cho mục đích luyện tập.
‫Và chúng tôi đang nói cụ thể về điều này ngay tại đây được gọi là Non Local.
‫Nó thực sự là một từ khóa mới trong Python 3.
‫Và như bạn có thể thấy, gợn sóng của tôi thậm chí còn không nhận ra điều đó.
‫Vì vậy, nó thậm chí không đánh dấu nó bằng màu xanh lam vì nó là một tính năng mới.
‫Nhưng tôi muốn nói chuyện với bạn về nó và cho bạn biết nó có tác dụng gì.
‫Từ khóa non local được sử dụng để chỉ phần này, địa phương chính này.
‫Đó là một cách để chúng ta nói, Này, tôi muốn sử dụng một biến không phải là biến toàn cục nhưng nằm
‫ngoài phạm vi chức năng của tôi.
‫Vì vậy, dựa trên định nghĩa đó, hãy thử tạm dừng video và xem chức năng này có thể làm gì.
‫Tôi sẽ chạy nó ngay bây giờ và sau đó xem qua mã.
‫Nếu tôi bấm Chạy.
‫Đây là những gì chúng tôi nhận được.
‫Vì vậy, chúng ta hãy nói về điều này.
‫Chúng ta có một hàm bên ngoài và sau đó chúng ta gọi hàm bên ngoài.
‫Vì vậy, trình thông dịch Python sẽ đi và nói, Được rồi, chúng ta có một biến X là cục
‫bộ cho hàm bên ngoài.
‫Và bên trong đây, chúng ta sẽ định nghĩa một hàm bên trong, một hàm khác.
‫Và ở đây, trước khi chúng ta gọi nó, chúng ta nhảy đến dòng thứ chín và nói, được rồi, hãy gọi hàm bên trong.
‫Chúng tôi quay lại và nói, Này, dòng năm, tôi muốn sử dụng X không cục bộ.
‫Điều đó nghĩa là gì?
‫Tôi muốn sử dụng biến x này vì nó không phải là cục bộ, tôi không muốn tạo một biến x
‫mới.
‫Tôi muốn tăng phạm vi lên phạm vi cha mẹ của tôi, cục bộ cha mẹ của tôi và lấy bất cứ thứ gì bạn tìm thấy trong đó.
‫Miễn là nó không phải là biến toàn cục, bất kỳ phụ huynh nào sẽ làm.
‫Tôi muốn lấy cái đó không cục bộ.
‫Vì vậy, bây giờ x này đang đề cập đến hàm bên ngoài ở đây.
‫Vì vậy, khi chúng ta nói x bằng không cục bộ, chúng ta đang gán chuỗi mới này.
‫Và thay thế cục bộ này để khi chúng ta in liên x, chúng ta nhận được không cục bộ, nhưng cũng như khi chúng
‫ta in x bên ngoài, chúng ta đã sửa đổi phạm vi bên ngoài này bằng từ khóa không cục bộ, do đó cũng trở thành không cục
‫bộ.
‫Nếu tôi xóa dòng này và hãy bình luận về nó và tôi nhấp vào Chạy.
‫Bạn thấy sự khác biệt?
‫Bây giờ chúng ta có nội bộ không cục bộ, nhưng cục bộ bên ngoài không được sửa đổi vì đây là một
‫biến mới.
‫Một lần nữa, tôi cho rằng điều này thực sự làm cho mã của bạn phức tạp hơn mức cần thiết.
‫Vì vậy, có những trường hợp đặc biệt mà bạn có thể muốn sử dụng điều này, nhưng nếu bạn có thể cố gắng làm cho mã của mình có
‫thể dự đoán được, nơi bạn có thể tránh sử dụng những thứ như không cục bộ và toàn cầu.
‫Xin lưu ý bạn, chúng ở đó là có lý do vì chúng hữu ích trong một số tình huống.
‫Như đã nói, hãy ghi nhớ, hãy làm cho mã của bạn có thể dự đoán được, làm cho mã của bạn sạch sẽ và tôi sẽ gặp lại bạn
‫trong video tiếp theo.