Trong một trong những bài viết trước của chúng tôi, chúng tôi đã xem xét một công cụ mạnh mẽ như hàm. Và chúng tôi đã học cách xác định chương trình con của riêng mình trong mã, thêm đối số, khối lệnh và giá trị trả về cho nó. Và ngoài ra - hãy gọi nó để giải quyết các vấn đề sâu hơn trong văn bản của chương trình. Hôm nay chúng ta sẽ xem xét một công cụ thú vị như các hàm đệ quy trong Python - điều quan trọng cần biết để vượt qua Các khóa học DevOps / Đánh giá DevNet Tashkent.
Đệ quy là gì, khóa học DevOps / Đánh giá DevNet Tashkent
Trước hết chúng ta hãy hiểu đệ quy là gì. Tất nhiên, liên quan đến chủ đề của bài viết hôm nay - lập trình chức năng trong Python. Trong ngữ cảnh này, đệ quy là việc bổ sung một lệnh hàm gọi lại hàm đó nhưng với dữ liệu mới. Thông thường, đây là dữ liệu thu được từ lần lặp lại lệnh gọi hàm trước đó. Tất nhiên, của chúng tôi Các khóa học DevOps/DevNet tốt nhất Tashkent cho Chuyên gia CNTT ở Uzbekistan.
Nghĩa là, nếu bạn phân tích nguyên tắc đệ quy, nó trông như thế này: chương trình gọi một chương trình con, truyền dữ liệu cho nó để xử lý dưới dạng đối số. Chương trình con thế hệ đầu tiên xử lý chúng. Và sau đó nó gọi thế hệ thứ hai của cùng một chương trình con, truyền cho nó dữ liệu đã được xử lý làm đối số để xử lý lại. Và cứ thế, lý tưởng nhất là đến vô cùng.
Tuy nhiên, đệ quy có cả ưu điểm và nhược điểm. Ưu điểm của hàm đệ quy bao gồm:
- dễ dàng nắm vững phương pháp lập trình đệ quy;
- khả năng giải quyết các vấn đề phức tạp với các khối mã nhỏ;
- hiệu suất cao trong các nhiệm vụ có thể được chia thành một số lượng hữu hạn các nhiệm vụ tiêu chuẩn.
Trong số những nhược điểm của phương pháp này, những điều sau đây có tầm quan trọng lớn nhất:
- tính phản trực giác của kết quả công việc và độ phức tạp ngày càng tăng của việc phân tích thuật toán;
- mức tiêu thụ tài nguyên máy tính tăng lên như tuyết lở có thể lấp đầy toàn bộ bộ nhớ khả dụng và tải CPU chỉ trong vài giây);
- yêu cầu cao về sự hiểu biết về quy trình của người lập trình.
Tóm lại, đệ quy dễ học nhưng khó áp dụng. Và trong những bàn tay thiếu kinh nghiệm, công cụ này có thể gây ra nhiều vấn đề đau đầu cũng như lợi ích. Và ngoài ra - hãy trở thành nguồn rò rỉ bộ nhớ lý tưởng trong dự án của bạn. Vì vậy, điều rất quan trọng là phải học cách sử dụng nó một cách chính xác và cũng sử dụng nó một cách chính xác ở nơi đệ quy mang lại lợi ích lớn nhất.
Ví dụ về sử dụng đệ quy để giải quyết vấn đề trong Python
Tất nhiên, lập trình đệ quy phải được nắm vững bởi những người dự định học Đánh giá các khóa học DevOps / DevNet Tashkent. Và trở thành chuyên gia CNTT tại Uzbekistan vào năm 2024. Rất có thể, ví dụ đơn giản nhất của việc sử dụng đệ quy là lấy tổng các số từ 1 để n. Tất nhiên, bạn có thể sử dụng vòng lặp để giải quyết vấn đề này. Nhưng giải pháp đệ quy sẽ ngắn hơn một chút và sẽ thể hiện được nguyên lý hoạt động của công cụ.
Trước hết chúng ta khai báo hàm def rec_sum(n) và đặt một dấu hai chấm. Ở dòng tiếp theo, thụt vào 4 dấu cách, thêm toán tử có điều kiện và kiểm tra sự bằng nhau - nếu n==1: và với một khoảng thụt bổ sung là 4 dấu cách - trả lại 1. Ở dòng tiếp theo, cùng cấp độ với câu lệnh điều kiện if - thêm một dòng chứa thuật toán đệ quy: trả về n + rec_sum(n - 1).
Kết quả là, hàm sẽ gọi ngày càng nhiều phiên bản mới của chính nó, mỗi lần giảm đối số đi một. Cho đến khi nó đạt đến 0 thì công việc của thuật toán sẽ dừng lại. Để tìm hiểu thêm, chúng tôi khuyên bạn nên đi Các khóa học kỹ sư DevOps / DevNet Tashkent trên nền SEDICOMM.
Đội Đại học SEDICOMM: Học viện Cisco, Viện chuyên gia Linux, Viện Python.

