Đã đến lúc nói về các chức năng.
Đây là nơi mà mọi thứ trở nên thực sự thú vị bởi vì cho đến nay chúng ta đã thấy các hàm viết các
hàm trong đó những thứ như in, như khối danh sách.
Chúng tôi thậm chí còn thấy chức năng đầu vào để nhận đầu vào của bất kỳ loại nào người dùng nhập và những thứ đó cho phép chúng tôi thực hiện các
hành động trên các loại dữ liệu của mình.
Nhưng sức mạnh thực sự đến khi chúng ta có thể bắt đầu tạo ra các chức năng của riêng mình.
Đúng rồi.
Chúng tôi không giới hạn bất cứ thứ gì Python cung cấp cho chúng tôi.
Chúng tôi có thể tạo các chức năng của riêng mình và sử dụng chúng trong các chương trình của mình.
Vì vậy, chúng ta hãy học cách làm điều đó.
Cách chúng ta tạo một hàm bằng Python và các hàm, nhân tiện, tồn tại trong tất cả các ngôn ngữ lập trình.
Chúng rất, rất quan trọng.
Nếu chúng ta làm điều đó cho phép trình thông dịch python biết rằng chúng ta sắp xác định một hàm.
Def là viết tắt của định nghĩa.
Vì vậy, trình thông dịch sẽ nói, được rồi, họ sắp xác định một hàm.
Chức năng sẽ là gì?
Chà, chúng ta có thể tạo ra bất cứ thứ gì chúng ta muốn.
Chúng tôi sử dụng cùng một trường hợp đặt tên như chúng tôi làm với các biến để xác định các hàm của chúng tôi.
Vì vậy, hãy tạo một chức năng một lần nữa.
Chúng tôi sẽ gọi nó là Say Hello.
Chỉ là một biến mà tôi đã tạo.
Nhưng lần này là một hàm vì chúng ta sử dụng từ khóa def bây giờ ở đây và nói xin chào.
Chúng tôi cũng thêm dấu ngoặc để thông dịch viên biết rằng đây là thứ mà chúng tôi sẽ
thực hiện hoặc đây sẽ thực hiện một hành động trên một kiểu dữ liệu.
Chúng ta sử dụng dấu hai chấm và sau đó trong khối mã này, chúng ta có thể nói là print.
Xin chào.
Và đó là một chức năng.
Nếu tôi bấm Chạy.
Hừ!
Không có chuyện gì xảy ra.
Tại sao vậy?
Chà, chúng tôi đã tạo ra chức năng nói xin chào, chúng tôi đã định nghĩa nó, và bây giờ nó đang sống ở đâu đó trong bộ nhớ trên máy
của chúng tôi.
Tuy nhiên, để sử dụng một hàm, hãy nhớ rằng, giống như chúng ta sử dụng hàm print, chúng ta phải gọi
nó bằng dấu ngoặc.
Vì vậy, sau khi chúng ta xác định một hàm, chúng ta nói Say hello.
Và bạn có nhận thấy cách gợn sóng của tôi không.
Ngay sau khi tôi nói nói.
Trên thực tế, cung cấp cho tôi lệnh nói xin chào bởi vì tôi đã tạo ra nó.
Và bạn thấy hộp màu tím này cho thấy rằng đó là một chức năng?
Bây giờ chúng tôi có sẵn nó để chúng tôi sử dụng, giống như chúng tôi đã có sẵn chức năng in để chúng tôi
sử dụng.
Vì vậy, nếu tôi nói xin chào và chạy nó với dấu ngoặc và tôi nhấp vào chạy.
Tôi có.
Xin chào?
Làm thế nào là mát đó là?
Nhân tiện, điều gì sẽ xảy ra nếu tôi chạy nó mà không có dấu ngoặc và tôi nhấp vào chạy?
Không có gì xảy ra, bởi vì hãy nhớ, để chúng tôi thực hiện một hành động, chúng tôi phải cho thông dịch viên
biết.
Này, tôi muốn chạy.
Chào.
Bây giờ, lý do các hàm trở nên mạnh mẽ như vậy là do nguyên tắc mà chúng ta đã nói đến.
Đúng.
Ý tưởng về DRI, viết tắt của Không lặp lại chính mình.
Các hàm thực sự rất hữu ích khi bạn có những việc bạn muốn làm đi làm lại.
Ví dụ, chức năng in, chúng tôi đã sử dụng nó rất nhiều.
Hãy tưởng tượng nếu chúng ta phải tự mình viết mã lệnh đó mỗi lần và nói hàm in nào hoạt động.
May mắn thay, Python cung cấp cho chúng ta một bản in vì nó là một công cụ hữu ích.
Nhưng nếu trong chương trình của chúng tôi, chúng tôi muốn nói lời chào nhiều lần và bạn có thể tưởng tượng điều này thực sự phức
tạp hơn rất nhiều, có thể là mười dòng mã.
Thay vì viết đi viết lại mười dòng mã đó, tôi chỉ có thể định nghĩa nó như một hàm và sử dụng nó ở bất
cứ đâu tôi muốn trong chương trình của mình.
Ví dụ, hãy nhớ điều này, nơi chúng tôi đã có một bức tranh và chúng tôi in một cây thông Noel.
Hãy tưởng tượng nếu chúng ta muốn chạy điều này nhiều lần.
Để làm được điều đó, tôi sẽ sao chép và dán đoạn mã này.
Và sau đó thêm nó một lần nữa.
Và nếu tôi nhấp vào Chạy.
Bây giờ tôi có hai cây thông Noel, nhưng hãy nhìn vào 26 dòng mã đó.
Tôi chỉ sao chép và dán cùng một thứ với một hàm.
Chúng tôi có thể làm một cái gì đó như thế này.
Tôi có thể nói.
Xác định chương trình.
Cây.
Colin và chúng tôi bây giờ có một chức năng.
Nhưng hãy nhớ thụt lề trong Python, phải không?
Thụt lề là quan trọng.
Chúng ta có dấu chấm phẩy, chúng ta đang xác định một hàm.
Vì vậy, chúng ta phải tạo khối mã đó bên trong nói rằng, này, bất cứ thứ gì được thụt vào ở đây, đó là một phần
của hàm này.
Vì vậy, bây giờ chúng ta có cây chương trình, hãy kiểm tra điều này.
Tôi có thể nói hiện cây, chạy lại.
Có lẽ chúng ta hãy chạy nó ba lần.
Nếu tôi bấm Chạy.
Làm thế nào là mát đó là?
Tôi có thể làm điều tương tự lặp đi lặp lại chỉ bằng cách gọi hàm này.
Và đó là sức mạnh của các chức năng.
Các chức năng cho phép chúng tôi giữ cho mã của chúng tôi khô ráo.
Chúng tôi không lặp lại chính mình và sử dụng lại những thứ mà máy móc của chúng tôi có thể làm đi làm lại.
Và vẻ đẹp là điều này vẫn còn là một kỷ niệm cho chúng tôi.
Vì vậy, Cây bây giờ có ý nghĩa đối với chương trình này bởi vì chúng tôi đã tạo ra nó.
Vì vậy, chúng tôi có hành động tùy chỉnh của riêng mình mà chúng tôi có thể thực hiện.
Bây giờ, điều gì sẽ xảy ra nếu tôi di chuyển?
Hiện cây ở đây lên đầu.
Chà, nếu tôi chạy cái này.
Tôi sẽ lấy một cái tên hàng không.
Tên của cô ấy.
Hiện cây không được xác định.
Tại sao vậy?
Vâng, bởi vì thông dịch viên của chúng tôi đi từng dòng một.
Đầu tiên nó nói, được rồi, hình ảnh bằng với giá trị này.
Và sau đó nó chuyển đến dòng 11 và nói, Chạy, hiển thị cây.
Nhưng chúng tôi chưa xác định cây chương trình, vì vậy trình thông dịch Python sẽ gặp lỗi và nói, Này, tôi
không biết cây chương trình là gì.
Bạn đang nói về cái gì vậy?
Thay vào đó, với một hàm, chúng ta cần đảm bảo rằng chúng ta xác định các hàm ngay từ đầu.
Vì vậy, trình thông dịch Python đó nói, Được rồi.
Hiện cây bây giờ có nghĩa là điều này.
Tôi sẽ không chạy nó.
Tôi sẽ không sử dụng nó được nêu ra.
Tôi sẽ giữ nó trong bộ nhớ.
Và cuối cùng khi tôi bắt gặp Show Tree, tôi sẽ biết rằng nó có ý nghĩa gì đó.
Tôi sẽ lấy nó từ bộ nhớ bằng cách sử dụng cây hiển thị và sau đó tôi sẽ chạy nó bằng cách sử dụng dấu ngoặc.
Ví dụ: nếu tôi thực hiện in cây hiển thị mà không có bất kỳ thứ gì, không có dấu ngoặc, nếu tôi bấm chạy.
Bạn thấy rằng tôi nhận được cây hiển thị chức năng tại vị trí này.
Đây chỉ là vị trí trong bộ nhớ.
Đây là giá sách nơi chúng tôi lưu trữ chức năng cây hiển thị đó.
Rất, rất tuyệt.
Và hàm là một khái niệm quan trọng, mạnh mẽ trong lập trình.
Và trong video tiếp theo, chúng tôi sẽ mở rộng điều này và khám phá điều này thêm một chút.
Hẹn gặp lại các bạn trong phần tiếp theo.