Đã đến lúc nói về những người trang trí.
Và bây giờ là thuật ngữ chính của họ bằng Python.
Và chúng tôi đã thực sự nhìn thấy những người trang trí trước đây.
Bạn có nhớ khi chúng tôi xây dựng các lớp học không?
Tôi đã dạy bạn rằng có một phương thức lớp và một phương thức tĩnh.
Và tôi nói, Này, đừng.
Đừng lo lắng về điều này.
Chúng ta sẽ nói về điều này sau.
Vâng, điều này bây giờ là sau.
Người trang trí trông như thế này.
Họ có dấu thêm và sau đó là một số loại tên theo sau nó.
Nhưng để chúng ta hiểu đầy đủ về decorator là gì, chúng ta phải nói về các hàm trong Python và tại sao chúng
lại mạnh mẽ như vậy.
Đây là điều gọn gàng về Python trong Python.
Chức năng là những gì chúng tôi gọi là công dân hạng nhất.
Có nghĩa là, chúng có thể được truyền xung quanh như các biến.
Chúng có thể là một đối số bên trong một hàm.
Chúng hoạt động giống như các biến số.
Tôi se cho bạn xem.
Nếu tôi tạo một hàm hello, nói thẳng ra là hoàn toàn vô dụng.
Bởi vì tất cả những gì nó làm là nói xin chào.
Nếu tôi làm điều này.
Hãy nhớ rằng tôi đã nói các hàm khá nhiều chỉ là các biến trong Python.
Một lần nữa, một điều không phải lúc nào cũng đúng với tất cả các ngôn ngữ lập trình.
Vì vậy, nếu tôi muốn, tôi có thể nói chào bằng hai.
Xin chào.
Vì vậy, nếu tôi in lời chào.
Và tôi chạy cái này.
Tôi có.
Xin chào?
Nếu tôi vượt qua thì sao?
Xin chào?
Như thế này?
Nếu tôi chạy cái này.
Chà, tôi nhận được vị trí hàm trong bộ nhớ, vì vậy tôi sẽ phải sử dụng grit như thế này và chạy nó đúng.
Chúng ta phải gọi hàm hello.
Được chứ.
Nếu chúng ta làm điều này thì sao?
Nếu tôi nói xóa thì sao?
Xin chào.
Một từ khóa trong Python sẽ xóa hàm đó.
Bạn nghĩ điều gì sẽ xảy ra?
Hãy xem nếu tôi chạy cái này.
Hừ!
Đó có phải là những gì bạn mong đợi?
Bạn có mong đợi Grete vẫn hoạt động không?
Điều thú vị về Python là tôi tạo hello và điều này bây giờ được tạo trong bộ nhớ.
Khi chúng ta đến hàng thứ tư, tôi nói, này, chào sẽ chỉ để chào.
Vì vậy, xin chào vẫn có thể được gọi ở đây.
Tôi vẫn có thể nói xin chào.
Vì hello là tên của hàm trỏ đến vị trí đó trong bộ nhớ.
Nhưng khi tôi xóa hello, tất cả những gì nó làm chỉ là, hey, tôi sẽ xóa chức năng này, tên này tham chiếu
đến chức năng này trong bộ nhớ.
Tuy nhiên, bởi vì chào toàn bộ biến nother vẫn đang trỏ đến hàm này.
Tôi sẽ xóa từ xin chào.
Vì vậy, nếu tôi đi xin chào như thế này?
Tôi sẽ nhận được một tên lỗi.
Xin chào không được định nghĩa, tuy nhiên.
Lời chào vẫn chỉ trong trí nhớ về địa điểm này.
Vì vậy, Python đủ thông minh để nói, Này, bạn đã bảo tôi xóa xin chào, tôi sẽ xóa tên xin chào.
Nhưng tôi sẽ không xóa chức năng vì Grete vẫn đang trỏ đến nó.
Vì vậy, các hàm trong Python hoạt động giống như các biến.
Họ là những công dân hạng nhất.
Chúng ta cũng có thể chuyển các hàm.
Xung quanh bên trong của các đối số, phải không?
Nếu tôi nói xin chào và sau đó lời chào này nhận được một hàm khác gọi, hãy nói.
Chức năng như thế này.
Tôi có thể tạo một hàm chào, giả sử như vậy.
Xác định lời chào.
Và chức năng này sẽ được in.
Vẫn ở đây.
Bây giờ ở đây nếu tôi gọi.
Xin chào?
Với.
Chào.
Hoặc để chúng ta rõ ràng, hãy chỉ nói một bằng hai.
Xin chào, chào.
Và nếu tôi in a, điều gì sẽ xảy ra?
Điều đó vẫn hoạt động bởi vì những gì xảy ra là tôi nói, hey, gọi hàm.
Xin chào?
Ồ, tôi đang gọi hàm.
Xin chào với lời chào đối số.
Vì vậy, chúng tôi đi đến đây và chúng tôi nói hàm hey run và chức năng là gì.
Chúng ta muốn gọi hàm này là đúng vì chúng ta có các dấu ngoặc này nên chúng ta chuyển sang hàm nào, trong trường hợp
của chúng ta là tuyệt vời.
Vì vậy, chúng tôi đến đây và nói, Này, chỉ cần in cái này.
Chúng tôi không phải gọi nó ở đây vì hàm hello gọi nó cho chúng tôi.
Vậy tại sao tôi chỉ dạy cho bạn tất cả những điều đó?
Điều đó có liên quan gì đến người trang trí?
Trình trang trí chỉ có thể thực hiện được vì các tính năng này, khả năng này của các hàm hoạt động giống như các biến hoạt động giống
như các công dân hạng nhất trong Python.
Và khi chúng ta bắt đầu tìm hiểu về các thiết bị trang trí bên dưới mui xe, chúng đang sử dụng sức mạnh của các chức năng này.
Bây giờ và sau đó là các video sắp tới.
Chúng ta sẽ nói về cách tạo của riêng chúng ta, ý nghĩa của chúng, và mở rộng ý tưởng về người trang trí này.
Nhưng đây là một dạng ngắn gọn về những gì người trang trí làm.
Người trang trí làm tăng thêm chức năng của chúng tôi.
Nếu chúng ta có chức năng chúng ta hãy nói xin chào ở đây.
Bằng cách thêm một số kiểu trang trí như thế này, chúng ta có thể tăng cường chức năng của mình và thêm chức năng bổ sung
cho nó.
Nó cho trình thông dịch python biết tôi muốn hàm hello này có thêm một số tính năng.
Nhưng chúng ta hãy khám phá chủ đề này nhiều hơn một chút trong video tiếp theo.