Hướng dẫn can we call a function inside the same function in python? - chúng ta có thể gọi một hàm bên trong cùng một hàm trong python không?

Mã tôi đã có là dành cho một bot nhận biểu thức toán học và tính toán nó. Ngay bây giờ tôi có nó làm nhân, chia, trừ và thêm. Mặc dù vậy, vấn đề là tôi muốn xây dựng sự hỗ trợ cho dấu ngoặc đơn và dấu ngoặc đơn bên trong dấu ngoặc đơn. Để điều đó xảy ra, tôi cần chạy mã tôi đã viết cho các biểu thức mà không có dấu ngoặc đơn cho biểu thức bên trong dấu ngoặc đơn đầu tiên. Tôi sẽ kiểm tra "[" và nối biểu thức bên trong nó vào danh sách cho đến khi nó đạt đến "]" trừ khi nó đạt đến một "[" khác trước tiên trong trường hợp tôi sẽ tạo một danh sách bên trong danh sách. Tôi sẽ trừ, nhân và chia và sau đó các số còn lại tôi chỉ cần thêm vào nhau.

Vì vậy, có thể gọi một định nghĩa/hàm từ bên trong chính nó?

Mackm

2.7975 huy hiệu vàng32 Huy hiệu bạc43 Huy hiệu đồng5 gold badges32 silver badges43 bronze badges

Đã hỏi ngày 16 tháng 3 năm 2015 lúc 9:13Mar 16, 2015 at 9:13

Vâng, đây là một kỹ thuật lập trình cơ bản gọi là đệ quy, và nó thường được sử dụng trong chính xác các loại kịch bản phân tích cú pháp mà bạn mô tả.

Chỉ cần chắc chắn rằng bạn có một trường hợp cơ sở, để đệ quy kết thúc khi bạn đến lớp dưới cùng và cuối cùng bạn không tự gọi mình là vô hạn.

[Cũng lưu ý trứng Phục sinh khi bạn đệ quy Google: "Ý bạn là đệ quy?"]

Đã trả lời ngày 16 tháng 3 năm 2015 lúc 9:14Mar 16, 2015 at 9:14

Daniel Rosemandaniel RosemanDaniel Roseman

575K61 Huy hiệu vàng840 Huy hiệu bạc852 Huy hiệu Đồng61 gold badges840 silver badges852 bronze badges

1

Vâng, như @Daniel Roseman đã nói, đây là một kỹ thuật lập trình cơ bản gọi là đệ quy.

Nên sử dụng đệ quy thay vì lặp lại khi bạn muốn tạo ra một giải pháp sạch hơn so với phiên bản lặp. Tuy nhiên, đệ quy thường đắt hơn so với lần lặp vì nó yêu cầu cuộn dây hoặc đẩy các khung ngăn xếp mới lên ngăn xếp cuộc gọi mỗi khi chức năng đệ quy được gọi - các hoạt động này chiếm thời gian và xếp chồng không gian, có thể dẫn đến một lỗi gọi là Stack Overlow Nếu khung ngăn xếp tiêu thụ tất cả bộ nhớ được phân bổ cho ngăn xếp cuộc gọi.

Đây là một ví dụ về nó trong Python

def recur_factorial[n]:
   """Function to return the factorial of a number using recursion""" 
   if n == 1:
      return n
   else:
      return n*recur_factorial[n-1] 

Để biết thêm chi tiết, hãy truy cập ý chính của github đã được sử dụng cho câu trả lời này

Đã trả lời ngày 16 tháng 3 năm 2015 lúc 9:21Mar 16, 2015 at 9:21

Jameel Grandjameel GrandJameel Grand

2.20615 huy hiệu bạc31 huy hiệu đồng15 silver badges31 bronze badges

1

Vâng, có thể trong "đệ quy Python" và mô tả tốt nhất là: "Một ví dụ về thế giới vật lý sẽ là đặt hai gương song song đối mặt với nhau. Bất kỳ đối tượng nào ở giữa chúng sẽ được phản ánh một cách đệ quy"

Đã trả lời ngày 17 tháng 12 năm 2021 lúc 8:08Dec 17, 2021 at 8:08

Tôi có thể gọi một hàm bên trong cùng một chức năng trong Python không?

Python cũng chấp nhận đệ quy chức năng, có nghĩa là một hàm được xác định có thể tự gọi. Recursion là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng tự gọi.

Tôi có thể gọi một hàm bên trong cùng một chức năng không?

  • Gọi một chức năng từ bên trong được gọi là đệ quy và câu trả lời đơn giản là, vâng.
  • Bạn có thể có một chức năng trong một chức năng?
  • Tôi có thể gọi một hàm bên trong cùng một chức năng trong Python không?

    Python cũng chấp nhận đệ quy chức năng, có nghĩa là một hàm được xác định có thể tự gọi. Recursion là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng tự gọi.

    Tôi có thể gọi một hàm bên trong cùng một chức năng không?

    Gọi một chức năng từ bên trong được gọi là đệ quy và câu trả lời đơn giản là, vâng. Functions in Python
    In Python, any written function can be called by another function. Note that this could be the most elegant way of breaking a problem into chunks of small problems. In this article, we will learn how can we call a defined function from another function with help of multiple examples. 

    Bạn có thể có một chức năng trong một chức năng? 
    The Function which calls another Function is called Calling Function and function which is called by another Function is call Called Function.

    Hàm lồng nhau là một hàm hoàn toàn chứa trong hàm cha. Bất kỳ chức năng nào trong một tệp chương trình có thể bao gồm một chức năng lồng nhau. Sự khác biệt chính giữa các chức năng lồng nhau và các loại chức năng khác là chúng có thể truy cập và sửa đổi các biến được xác định trong các chức năng cha mẹ của chúng.
    A stack data structure is used during the execution of the function calls. Whenever a function is invoked then the calling function is pushed into the stack and called function is executed. When the called function completes its execution and returns then the calling function is popped from the stack and executed. Calling Function execution will be completed only when called Function is execution completes.

    Xem thảo luận

    Cải thiện bài viết

    Python3

    Lưu bài viết

    Đọc

    Bàn luận

    Điều kiện tiên quyết: Các chức năng trong Pythonin Python, bất kỳ chức năng bằng văn bản nào cũng có thể được gọi bởi một chức năng khác. Lưu ý rằng đây có thể là cách phá vỡ một vấn đề thanh lịch nhất thành các vấn đề nhỏ. Trong bài viết này, chúng ta sẽ tìm hiểu làm thế nào chúng ta có thể gọi một hàm được xác định từ một hàm khác với sự trợ giúp của nhiều ví dụ. & NBSP;

    Gọi và gọi chức năng? & Nbsp; Hàm gọi một hàm khác được gọi là hàm và hàm gọi được gọi bởi một hàm khác là chức năng gọi.

    Làm thế nào để thực thi chức năng hoạt động? & Nbsp; một cấu trúc dữ liệu ngăn xếp được sử dụng trong quá trình thực hiện các cuộc gọi chức năng. Bất cứ khi nào một hàm được gọi thì hàm gọi được đẩy vào ngăn xếp và được gọi là chức năng được thực thi. Khi hàm được gọi hoàn thành thực thi và trả về thì hàm gọi được bật ra từ ngăn xếp và thực thi. Thực thi chức năng gọi sẽ chỉ được hoàn thành khi chức năng được gọi là hoàn thành thực thi.

    Trong hình dưới đây. Cuộc gọi chức năng được thực hiện từ hàm chính sang chức năng1, bây giờ trạng thái của hàm chính được lưu trữ trong ngăn xếp và thực hiện hàm chính được tiếp tục khi hàm 1 trả về. FUCNTION1 gọi hàm2 Bây giờ trạng thái của hàm1 được lưu trữ ngăn xếp và thực thi hàm 1 sẽ được tiếp tục khi hàm 2 trả về. & Nbsp;

    Hãy xem xét ví dụ dưới đây của cuộc gọi chức năng. Hàm hàm sumofsquares gọi hàm vuông trả về bình phương của số. & Nbsp;

    def Square[X]:

        ____10

    Sum of the Square of List of Numbers: 385 
    1
    Sum of the Square of List of Numbers: 385 
    2
    Sum of the Square of List of Numbers: 385 
    3

    def

    Sum of the Square of List of Numbers: 385 
    5

        

    Sum of the Square of List of Numbers: 385 
    7
    Sum of the Square of List of Numbers: 385 
    8
    Sum of the Square of List of Numbers: 385 
    9

    Đầu ra: & nbsp; 

    Sum of the Square of List of Numbers: 385 

    Gọi chức năng lớp cha từ chức năng lớp con, ví dụ dưới đây, phương thức lớp con gọi phương thức lớp cha. Lớp con thừa hưởng các thuộc tính từ lớp cha.
    In the below example, the class method Function1 calls method Function2 from the class.

    Python3

    def4 def5

        def def8def9______

    Function2 :  Hello
    Function1 :  World
    6def9Square[X]:3
    Sum of the Square of List of Numbers: 385 
    8Square[X]:5

    Function2 :  Hello
    Function1 :  World
    6def9Square[X]:8
    Sum of the Square of List of Numbers: 385 
    8    0

        def     3def9Square[X]:0

    Function2 :  Hello
    Function1 :  World
    6def9    8

    Function2 :  Hello
    Function1 :  World
    6"["8
    Sum of the Square of List of Numbers: 385 
    01def9
    Sum of the Square of List of Numbers: 385 
    03

    Function2 :  Hello
    Function1 :  World
    6
    Sum of the Square of List of Numbers: 385 
    0

        def

    Sum of the Square of List of Numbers: 385 
    08def9Square[X]:0

    Function2 :  Hello
    Function1 :  World
    6"["8
    Sum of the Square of List of Numbers: 385 
    13def9
    Sum of the Square of List of Numbers: 385 
    15

    Function2 :  Hello
    Function1 :  World
    6
    Sum of the Square of List of Numbers: 385 
    0

    Sum of the Square of List of Numbers: 385 
    18
    Sum of the Square of List of Numbers: 385 
    8
    Sum of the Square of List of Numbers: 385 
    20

    Sum of the Square of List of Numbers: 385 
    18
    Sum of the Square of List of Numbers: 385 
    22

    Đầu ra: & nbsp;

    Function2 :  Hello
    Function1 :  World

    Gọi chức năng lớp cha từ chức năng lớp con, ví dụ dưới đây, phương thức lớp con gọi phương thức lớp cha. Lớp con thừa hưởng các thuộc tính từ lớp cha.parent class Function from Child class Function –
    Consider the below example the child class method invokes the parent class method. The child class inherits the attributes from the parent class.

    Python3

    def4

    Sum of the Square of List of Numbers: 385 
    24

        def def8def9______

    Function2 :  Hello
    Function1 :  World
    6def9Square[X]:3
    Sum of the Square of List of Numbers: 385 
    8Square[X]:5

    Function2 :  Hello
    Function1 :  World
    6def9Square[X]:8
    Sum of the Square of List of Numbers: 385 
    8    0

        def

    Sum of the Square of List of Numbers: 385 
    08def9Square[X]:0

    Function2 :  Hello
    Function1 :  World
    6"["8
    Sum of the Square of List of Numbers: 385 
    13def9
    Sum of the Square of List of Numbers: 385 
    15

    Function2 :  Hello
    Function1 :  World
    6
    Sum of the Square of List of Numbers: 385 
    0

    Sum of the Square of List of Numbers: 385 
    18
    Sum of the Square of List of Numbers: 385 
    8
    Sum of the Square of List of Numbers: 385 
    20

        def     3def9Square[X]:0

    Function2 :  Hello
    Function1 :  World
    6"["8
    Sum of the Square of List of Numbers: 385 
    01def9
    Sum of the Square of List of Numbers: 385 
    03

    Function2 :  Hello
    Function1 :  World
    6"["8
    Sum of the Square of List of Numbers: 385 
    01def9
    Sum of the Square of List of Numbers: 385 
    03

    Function2 :  Hello
    Function1 :  World
    6
    Sum of the Square of List of Numbers: 385 
    0  

        def

    Sum of the Square of List of Numbers: 385 
    08def9Square[X]:0

    Sum of the Square of List of Numbers: 385 
    18
    Sum of the Square of List of Numbers: 385 
    8
    Sum of the Square of List of Numbers: 385 
    20

    Sum of the Square of List of Numbers: 385 
    75

    Đầu ra: & nbsp; 

    Function2 :  Hello
    Function1 :  World

    Tôi có thể gọi một hàm bên trong cùng một chức năng trong Python không?

    Python cũng chấp nhận đệ quy chức năng, có nghĩa là một hàm được xác định có thể tự gọi.Recursion là một khái niệm toán học và lập trình phổ biến.Nó có nghĩa là một chức năng tự gọi.. Recursion is a common mathematical and programming concept. It means that a function calls itself.

    Tôi có thể gọi một hàm bên trong cùng một chức năng không?

    Gọi một chức năng từ bên trong được gọi là đệ quy và câu trả lời đơn giản là, vâng. and the simple answer is, yes.

    Bạn có thể có một chức năng trong một chức năng?

    Hàm lồng nhau là một hàm hoàn toàn chứa trong hàm cha.Bất kỳ chức năng nào trong một tệp chương trình có thể bao gồm một chức năng lồng nhau.Sự khác biệt chính giữa các chức năng lồng nhau và các loại chức năng khác là chúng có thể truy cập và sửa đổi các biến được xác định trong các chức năng cha mẹ của chúng.Any function in a program file can include a nested function. The primary difference between nested functions and other types of functions is that they can access and modify variables that are defined in their parent functions.

    Bài Viết Liên Quan

    Chủ Đề