Python – Función de llamada desde otra función

Requisito previo: Funciones en Python
En Python, cualquier función escrita puede ser llamada por otra función. Tenga en cuenta que esta podría ser la forma más elegante de dividir un problema en pequeños problemas. En este artículo, aprenderemos cómo podemos llamar a una función definida desde otra función con la ayuda de múltiples ejemplos. 

¿Función llamante y llamada?  
La Función que llama a otra Función se llama Función de Llamada y la función que es llamada por otra Función se llama Función Llamada.

¿Cómo funciona la ejecución de funciones? 
Se utiliza una estructura de datos de pila durante la ejecución de las llamadas de función. Cada vez que se invoca una función, la función que llama se inserta en la pila y se ejecuta la función llamada. Cuando la función llamada completa su ejecución y regresa, la función de llamada se extrae de la pila y se ejecuta. La ejecución de la función de llamada se completará solo cuando se complete la ejecución de la función llamada.

En la siguiente figura. La llamada a la función se realiza desde la función principal a la función 1 , ahora el estado de la función principal se almacena en la pila y la ejecución de la función principal continúa cuando regresa la función 1 . La función 1 llama a la función 2 , ahora el estado de la función 1 está almacenado en la pila y la ejecución de la función 1 continuará cuando la función 2 regrese. 

Considere el siguiente ejemplo de la llamada a la función. La función Function SumOfSquares llama a Function Square, que devuelve el cuadrado del número. 

Python3

# Python code to demonstrate calling the
# function from another function
 
def Square(X):
    # computes the Square of the given number
    # and return to the caller function
    return (X * X)
 
def SumofSquares(Array, n):
 
    # Initialize variable Sum to 0. It stores the
    # Total sum of squares of the array of elements
    Sum = 0
    for i in range(n):
 
        # Square of Array[i] element is stored in SquaredValue
        SquaredValue = Square(Array[i])
 
        # Cumulative sum is stored in Sum variable
        Sum += SquaredValue
    return Sum
 
# Driver Function
Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n = len(Array)
 
# Return value from the function
# Sum of Squares is stored in Total
Total = SumofSquares(Array, n)
print("Sum of the Square of List of Numbers:", Total)

Producción : 

Sum of the Square of List of Numbers: 385 

Llamar a la función desde otra función dentro de la misma clase:
en el siguiente ejemplo, el método de clase Function1 llama al método Function2 desde la clase.

Python3

'''
Call a function from within another function
in the same class in Python
'''
 
class Main:
 
    # constructor of Main class
    def __init__(self):
        # Initialization of the Strings
        self.String1 ="Hello"
        self.String2 ="World"
 
    def Function1(self):
        # calling Function2 Method
        self.Function2()
        print("Function1 : ", self.String2)
        return
 
    def Function2(self):
        print("Function2 : ", self.String1)
        return
 
# Instance of Class Main
Object = Main()
 
# Calling Function1
Object.Function1()

Producción : 

Function2 :  Hello
Function1 :  World

Llamar a la función de la clase principal desde la función de la clase secundaria : considere el siguiente ejemplo: el método de la clase secundaria invoca el método de la clase principal. La clase secundaria hereda los atributos de la clase principal.

Python3

# Python code to demonstrate calling parent class
# method from the child class method
 
class Parent:
 
    # constructor of Parent class
    def __init__(self):
        # Initialization of the Strings
        self.String1 ="Hello"
        self.String2 ="World"
 
    def Function2(self):
        print("Function2 : ", self.String1)
        return
 
# Child class is inheriting from Parent class
class Child(Parent):
 
    def Function1(self):
        # calling Function2 Method in parent class
        self.Function2()
        print("Function1 : ", self.String2)
        return  
 
### Instance of Parent class
Object1 = Parent()
 
### Instance of Child class
Object2 = Child()
 
# Calling Function1 using Child class instance
Object2.Function1()

Producción : 

Function2 :  Hello
Function1 :  World

Publicación traducida automáticamente

Artículo escrito por Yelleti_Varshith y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *