Show
Trong hướng dẫn Python này, chúng ta sẽ thảo luận về đệ quy trong python. Ngoài ra, chúng ta sẽ thấy những chủ đề dưới đây là
Mục lục Đệ quy trong python là gì?Đệ quy trong python là gì? . Đệ quy được sử dụng khi một vấn đề nào đó được xác định theo chính nó. Điều này có những lợi ích mà bạn có thể lặp qua dữ liệu để đạt được kết quả. Ngoài ra, đệ quy có thể dẫn đến một vòng lặp vô hạn, nếu trường hợp cơ sở không được đáp ứng trong các cuộc gọi. Cách tiếp cận đệ quy cung cấp một giải pháp rất ngắn gọn cho một vấn đề phức tạp Hàm đệ quy trong pythonTrong python, như chúng ta biết rằng một hàm có thể gọi các hàm khác. Cũng có thể một chức năng có thể gọi chính nó. Các loại này được gọi là hàm đệ quy Chúng ta có thể lấy ví dụ về giai thừa của hàm đệ quy để hiểu rõ hơn Thí dụ
Sau khi viết đoạn mã trên (hàm đệ quy trong python), 1 bạn sẽ in “số ” thì kết quả xuất ra là “ Giai thừa của 4 là. 24 “. Trong ví dụ này, chúng tôi đang xác định một hàm giai thừa () do người dùng xác định. Hàm này tìm giai thừa của một số bằng cách gọi chính nó nhiều lần cho đến khi đạt đến " 1 " là trường hợp cơ bản Bạn có thể tham khảo ảnh chụp màn hình bên dưới để biết chức năng đệ quy trong python Hàm đệ quy trong pythonƯu điểm đệ quy Python
Nhược điểm đệ quy Python
Ví dụ đệ quy PythonChúng ta sẽ làm ví dụ về đệ quy trong Python, để tính tổng n số tự nhiên. Bằng cách xác định hàm ” def sum(number) “ Thí dụ
Sau khi viết đoạn mã trên (ví dụ về đệ quy python), 1 bạn sẽ in “số ”, sau đó đầu ra sẽ xuất hiện dưới dạng “ Tổng của 6 là. 21 “. Trong ví dụ này, chúng ta đang định nghĩa hàm sum() do người dùng định nghĩa. Hàm này tìm tổng của một số bằng cách gọi chính nó nhiều lần cho đến khi đạt đến " 1 " là trường hợp cơ bản Bạn có thể tham khảo ảnh chụp màn hình bên dưới để biết các ví dụ về đệ quy python Ví dụ đệ quy PythonĐọc. Python NumPy nối Fibonacci đệ quy trong PythonDãy Fibonacci là một dãy các số nguyên trong đó hai số hạng đầu tiên sẽ là 0 và 1 và tất cả các số hạng khác của dãy có được bằng cách cộng hai số hạng trước đó của chúng Một hàm recursion_fib() được sử dụng để tính n_term của dãy Thí dụ
Sau khi viết đoạn mã trên (fibonacci đệ quy python), Ones bạn sẽ in ra “recursion_fib(i)” sau đó đầu ra sẽ xuất hiện dưới dạng “ 0 1 1 2 3 “. Trong ví dụ này, chúng ta đang gọi hàm một cách đệ quy và vòng lặp được sử dụng để lặp lại và tính toán từng thuật ngữ một cách đệ quy Bạn có thể tham khảo ảnh chụp màn hình bên dưới để biết đệ quy python Fibonacci đệ quy trong PythonPython nhận giá trị hiện tại của giới hạn đệ quyĐể lấy giá trị hiện tại của giới hạn đệ quy trong Python, chúng tôi sẽ nhập mô-đun sys, sau đó chúng tôi sẽ sử dụng “sys. getrecursionlimit()” để lấy giới hạn đệ quy hiện tại Thí dụ
Sau khi viết đoạn mã trên (python lấy giá trị hiện tại của giới hạn đệ quy), Ones bạn sẽ in “sys. getrecursionlimit()” thì đầu ra sẽ xuất hiện dưới dạng “1000” là giá trị mặc định. Trong ví dụ này, chúng tôi đang nhận giá trị hiện tại của giới hạn đệ quy bằng cách sử dụng sys. getrecursionlimit() Bạn có thể tham khảo ảnh chụp màn hình bên dưới để lấy giá trị hiện tại của giới hạn đệ quy Python nhận giá trị hiện tại của giới hạn đệ quyPython thay đổi độ sâu đệ quy tối đaĐể thay đổi độ sâu đệ quy tối đa trong Python, chúng tôi sẽ sử dụng “sys. setrecursionlimit()” sẽ tăng giới hạn đệ quy và chúng ta có thể thực hiện các thao tác liên tiếp theo cách đệ quy Thí dụ
Sau khi viết đoạn mã trên (python thay đổi độ sâu đệ quy tối đa), Ones bạn sẽ in “new_limit” sau đó đầu ra sẽ xuất hiện dưới dạng “ 1006 “. Trong ví dụ này, chúng tôi nhận được giá trị đã thay đổi của giới hạn đệ quy bằng cách sử dụng sys. setrecursionlimit(1006) Bạn có thể tham khảo ảnh chụp màn hình bên dưới python thay đổi độ sâu đệ quy tối đa Python thay đổi độ sâu đệ quy tối đaDanh sách đệ quy PythonChúng ta sẽ thực hiện tính tổng của một danh sách bằng cách sử dụng đệ quy trong Python, để tính tổng của danh sách đã cho trước tiên hãy xác định hàm ” def sum(list) “. Khi điều kiện cơ sở được đáp ứng, đệ quy sẽ kết thúc và nó sẽ trả về tổng của một danh sách Thí dụ
Sau khi viết đoạn mã trên (danh sách đệ quy python), Ones bạn sẽ in “sum(list)” sau đó đầu ra sẽ xuất hiện dưới dạng “ 15 “. Trong ví dụ này, chúng ta lấy tổng của danh sách bằng cách gọi hàm tổng, trong đó hàm cộng tất cả các phần tử theo cách đệ quy cho đến khi đáp ứng điều kiện cơ sở là “0” Bạn có thể tham khảo danh sách đệ quy python ảnh chụp màn hình bên dưới Danh sách đệ quy PythonLỗi đệ quy. vượt quá độ sâu đệ quy tối đa trong python so sánhHàm đệ quy bao gồm các giới hạn để đảm bảo rằng chúng không thực thi vô hạn. Khi được cung cấp một đầu vào lớn, chương trình gặp sự cố và đưa ra lỗi "vượt quá độ sâu đệ quy tối đa". Điều này có nghĩa là chức năng sẽ chạy cho đến khi một điều kiện cụ thể được đáp ứng Thí dụ
Sau khi viết đoạn mã trên, Sau khi bạn in “(fact(2000))” thì lỗi sẽ xuất hiện dưới dạng “RecursionError. vượt quá độ sâu đệ quy tối đa so với”. Ở đây, lỗi sẽ xảy ra nếu bạn viết một hàm đệ quy thực thi nhiều hơn một số lần lặp cụ thể (thường là 998) thì bạn sẽ gặp lỗi này Bạn có thể thấy ảnh chụp màn hình bên dưới vượt quá độ sâu đệ quy tối đa khi so sánh với python Lỗi đệ quy. vượt quá độ sâu đệ quy tối đa trong python so sánhPython đã đưa ra một lỗi đệ quy để bảo vệ chống tràn ngăn xếp. Để giải quyết lỗi này, chúng ta có thể tăng giới hạn đệ quy trong chương trình của mình bằng cách sử dụng phương thức “setrecursionlimit(4000)”, và bây giờ chương trình được thực thi mà không có lỗi Thí dụ
Sau khi viết đoạn mã trên, Sau khi bạn sẽ in “(fact(2000))” thì đầu ra sẽ xuất hiện mà không có bất kỳ lỗi nào. Ở đây, lỗi được giải quyết bằng cách sử dụng mô-đun nhập sys và thay đổi giới hạn đệ quy bằng cách sử dụng setrecursionlimit(). Bây giờ chúng ta có thể thấy rằng giới hạn đệ quy được tăng lên Bạn có thể tham khảo ảnh chụp màn hình bên dưới để biết đầu ra vượt quá độ sâu đệ quy tối đa trong python so sánhBạn có thể thích hướng dẫn Python sau đây
Trong hướng dẫn này, chúng ta đã học về đệ quy trong python. Ngoài ra chúng tôi đã đề cập đến các chủ đề này
Bijay Kumar Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi Lỗi đệ quy nghĩa là gì?Ngoại lệ JavaScript "quá nhiều đệ quy" hoặc "Vượt quá kích thước ngăn xếp lệnh gọi tối đa" xảy ra khi có quá nhiều lệnh gọi hàm hoặc một hàm thiếu trường hợp cơ sở.
đệ quy trong Python với ví dụ là gì?Thuật ngữ Đệ quy có thể được định nghĩa là quá trình xác định một thứ gì đó theo chính nó . Nói một cách đơn giản, đó là một quá trình trong đó một chức năng gọi chính nó trực tiếp hoặc gián tiếp. Một hàm phức tạp có thể được chia thành các bài toán con nhỏ hơn bằng cách sử dụng đệ quy.
Lỗi đệ quy có phải là lỗi thời gian chạy không?Lỗi thời gian chạy được tạo ra bởi hệ thống thời gian chạy nếu xảy ra sự cố trong khi chương trình đang chạy. Hầu hết các thông báo lỗi thời gian chạy bao gồm thông tin về nơi xảy ra lỗi và chức năng nào đang được thực thi. Thí dụ. Đệ quy vô hạn cuối cùng gây ra lỗi thời gian chạy vượt quá độ sâu đệ quy tối đa .
Giới hạn đệ quy trong Python là gì?Giới hạn đệ quy là thường là 1000 . |