Python LanguageFunciones


Introducción

Las funciones en Python proporcionan un código organizado, reutilizable y modular para realizar un conjunto de acciones específicas. Las funciones simplifican el proceso de codificación, evitan la lógica redundante y hacen que el código sea más fácil de seguir. Este tema describe la declaración y la utilización de funciones en Python.

Python tiene muchas funciones integradas como print() , input() , len() . Además de las funciones integradas, también puede crear sus propias funciones para realizar trabajos más específicos, que se denominan funciones definidas por el usuario .

Sintaxis

  • def function_name ( arg1, ... argN, * args, kw1, kw2 = predeterminado, ..., ** kwargs ): declaraciones
  • lambda arg1, ... argN, * args, kw1, kw2 = predeterminado, ..., ** kwargs : expresión

Parámetros

Parámetro Detalles
arg1 , ..., argN Argumentos regulares
* args Argumentos posicionales sin nombre
kw1 , ..., kwN Argumentos solo de palabra clave
** kwargs El resto de argumentos de palabras clave.

Observaciones

5 cosas básicas que puedes hacer con las funciones:

  • Asignar funciones a variables

    def f():
      print(20)
    y = f
    y()
    # Output: 20
    
  • Definir funciones dentro de otras funciones ( funciones anidadas )

    def f(a, b, y):
        def inner_add(a, b):      # inner_add is hidden from outer code
            return a + b
        return inner_add(a, b)**y
    
  • Las funciones pueden devolver otras funciones.

    def f(y):
        def nth_power(x):
            return x ** y
        return nth_power    # returns a function
    
    squareOf = f(2)         # function that returns the square of a number           
    cubeOf = f(3)           # function that returns the cube of a number
    squareOf(3)             # Output: 9
    cubeOf(2)               # Output: 8
    
  • Las funciones se pueden pasar como parámetros a otras funciones.

    def a(x, y):
        print(x, y)
    def b(fun, str):        # b has two arguments: a function and a string 
        fun('Hello', str)
    b(a, 'Sophia')           # Output: Hello Sophia
    
  • Las funciones internas tienen acceso al ámbito de cierre ( Cierre )

    def outer_fun(name):
        def inner_fun():     # the variable name is available to the inner function
            return "Hello "+ name + "!"
        return inner_fun
    greet = outer_fun("Sophia")
    print(greet())            # Output: Hello Sophia!
    

Recursos adicionales

Funciones Ejemplos relacionados