Được rồi, hãy chơi một trò chơi nhỏ.
Bạn có thể đoán kết quả của chương trình này sẽ như thế nào không?
Tôi có ở đây một bằng một.
Sau đó, chúng tôi tạo ra một hàm được gọi là nhầm lẫn, trong đó chúng tôi có một bằng năm và chúng tôi trả về a.
Câu hỏi của tôi là khi chúng tôi in A và khi chúng tôi in nhầm lẫn, bạn mong đợi điều gì sẽ xảy ra ở đây?
Hãy dành một giây để tìm ra khoảng dừng nếu bạn cần.
Và chúng ta cùng tìm hiểu.
Một và năm.
Đó có phải là những gì bạn mong đợi?
Đi nào.
Từng dòng một.
Đầu tiên, chúng tôi gán giá trị của một cho biến A, sau đó chúng tôi tạo một hàm được gọi là sự nhầm lẫn và trình thông dịch python sẽ nói,
Được rồi, sự nhầm lẫn, hàm.
Tôi biết nó là gì.
Tôi sẽ ghi nó vào bộ nhớ.
Khi nào cần dùng em cứ ib em nhé.
Và sau đó nó sẽ chuyển đến dòng thứ tám và dòng thứ tám sẽ nói, này, hãy in một cái giếng là gì, lần
duy nhất tôi nhìn thấy một cái đúng ở đây là một cái bằng.
Vì vậy, hãy đi vào bộ nhớ, giả sử A bằng một.
Nhưng rồi khi tôi bối rối như thế này.
Tôi sẽ nói, này, a sẽ bằng năm và bây giờ chúng ta trả về A là năm.
OC Điều gì sẽ xảy ra nếu tôi thay đổi thứ tự của điều này?
Nếu tôi đi như thế này thì sao?
Điều gì sẽ xảy ra nếu tôi nhấp vào Chạy?
Đó có phải là những gì bạn mong đợi?
Một lần nữa, chúng ta có một bằng.
Sau đó, chúng tôi xác định hàm, và sau đó chúng tôi in nhầm lẫn.
Bây giờ nhầm lẫn ở đây là sẽ gán một bằng năm và sau đó trả về a.
Nhưng tại sao điều này không thay đổi?
Tại sao một vẫn bằng một vào thời điểm chúng ta đến đây?
Và điều này là do phạm vi, phải không?
Những gì trình thông dịch Python làm là khi nó chạy hàm nhầm lẫn, nó sẽ nói, này,
a sẽ bằng năm.
Nhưng tôi đang tạo ra một biến ở đây được gọi là A trong vũ trụ của riêng tôi.
Tôi không biết bất cứ điều gì về một bằng ở đây.
Tôi có vũ trụ của riêng mình.
Và sau khi chúng tôi chạy chức năng này, thì, chúng tôi đã hoàn tất.
Chúng tôi đã trả lại chức năng và nó hoàn toàn biến mất.
Nhưng chúng ta chưa bao giờ rời vũ trụ vào phạm vi toàn cầu.
Vì vậy, có một bộ quy tắc mà trình thông dịch Python sử dụng để kiểm tra một biến.
Và các quy tắc là thế này.
Đầu tiên, nó sẽ kiểm tra với địa phương.
Vì vậy, hãy bắt đầu với địa phương.
Và những gì chúng tôi gọi là phạm vi cục bộ.
Phạm vi cục bộ là một phạm vi nằm trong chức năng cục bộ này.
Vì vậy, a là một phạm vi cục bộ.
Nó sẽ kiểm tra ở đó.
Này, tôi có biết biến không?
A Vâng, vâng, khi tôi trở lại.
A Tôi có một biến được xác định ở đây nên nó bắt đầu ở đó.
Nhưng giả sử A Đã không ở đó, giả sử tôi loại bỏ a và tôi nhấp vào chạy ở đây.
Tôi nhận được cả hai một lần vì quy tắc thứ hai là nếu không có gì trong biến cục bộ hoặc phạm vi
cục bộ, thì số hai, có phạm vi cục bộ mẹ không?
Trong trường hợp của chúng ta, cha mẹ của hàm này là gì?
Đó là phạm vi toàn cầu.
Nhưng chúng ta cũng có thể làm một chức năng khác.
Giả sử cha mẹ và cha mẹ là một cha mẹ của hàm nhầm lẫn.
Và ở đây, giả sử A bằng mười.
Bây giờ ở đây.
Chúng tôi sẽ trở lại.
Nhầm lẫn để chúng ta có thể sử dụng lại và thực sự chạy nó.
Vì vậy, chúng ta hãy gọi cho phụ huynh.
Và nhấp vào Chạy.
Được rồi, chúng ta hãy xem xét điều này.
Vì vậy, nó không quá khó hiểu.
Chúng ta có hàm cha đó được gọi.
Vì vậy, khi chúng ta gọi như vậy, chúng ta gán một bằng với mười.
Và sau đó chúng tôi cũng tạo ra một sự nhầm lẫn chức năng mới.
Và cuối cùng chúng tôi trả lại sự nhầm lẫn và thực sự chạy nó.
Vì vậy, chúng ta sẽ trả về a và sau đó ở đây in ra bất kỳ giá trị nào của A là mười.
Và tại sao lại như vậy?
Chà, vì trước tiên chúng ta bắt đầu với phạm vi cục bộ.
Này, nhầm lẫn có biết a là gì không?
Không.
Tôi không có nó trong phạm vi địa phương của tôi.
OC trường học địa phương của cha mẹ tôi có nó không?
Vì vậy, nó sẽ tăng lên một cấp độ và nói, Này, hàm cha có biết a là gì không?
Đúng, tôi có một bằng mười, vì vậy nó sẽ in ra.
Quy tắc thứ ba hoặc thứ tự thứ ba là toàn cầu.
Và toàn cầu là cái mà chúng ta gọi là thụt lề của hư không.
Đó là tệp này, phải không?
Bất kể tệp nào có, đó là toàn cầu.
Trong trường hợp của chúng ta, nếu A bằng mười không tồn tại ở đây, không có cục bộ, không có cục bộ mẹ.
Và tôi bấm chạy.
Nó kiểm tra phạm vi toàn cầu.
Và cuối cùng, có một quy tắc khác, đây là số bốn, và đó là một quy tắc khó.
Và đây là những gì chúng tôi gọi là được xây dựng bằng Python.
Hoặc được xây dựng trong các chức năng của python.
Vì vậy, Python đi kèm với các hàm được xác định trước như?
Chà, tổng số mà chúng ta đã nói trước đây.
Điều này một số giả sử, chỉ cần cho nó năm.
Sẽ kiểm tra hay thực sự, chúng ta hãy không cho nó bất cứ điều gì.
Hãy làm một số ở đây.
Khi tôi chạy cái này.
Tôi được xây dựng trong một số chức năng.
Hiện nay.
Làm sao họ biết đây là cái gì?
Biến này vào cuối ngày là bao nhiêu?
Bởi vì nó nói, này, tôi có một số bên trong vũ trụ này không?
Không.
Tôi không.
Tôi có một số trong phạm vi cha mẹ của tôi không?
Không, tôi không.
Tôi có một số trên toàn cầu không?
Không.
Không có gì tổng ở đây.
Và sau đó, điều cuối cùng nó sẽ kiểm tra là, này, có phải một số loại hàm được xây dựng trong Python không?
Chuẩn rồi.
Python thực sự cung cấp cho chúng ta một số để bạn có thể sử dụng nó để không gặp lỗi.
Và đây là các quy tắc phạm vi mà trình thông dịch Python tuân theo.
Rất, rất tuyệt.
Vẫn còn một số điều nữa mà chúng ta cần học hỏi.
Vì vậy, tôi sẽ gặp bạn trong video tiếp theo.