Funciones de Python es un bloque de declaraciones que devuelven la tarea específica. La idea es juntar algunas tareas que se realizan de forma común o repetida y crear una función de modo que, en lugar de escribir el mismo código una y otra vez para diferentes entradas, podamos realizar llamadas a funciones para reutilizar el código contenido en ella una y otra vez.
Alguno Beneficios de usar funciones
- Aumentar la legibilidad del código
- Aumentar la reutilización del código
Declaración de función de Python
La sintaxis para declarar una función es:
ruta establecida en java

Sintaxis de la declaración de función de Python
Tipos de funciones en Python
A continuación se muestran los diferentes tipos de funciones en Pitón :
- Función de biblioteca incorporada: Estos son Funciones estándar en Python que están disponibles para usar.
- Función definida por el usuario: Podemos crear nuestras propias funciones según nuestros requisitos.
Creando una función en Python
Podemos definir una función en Python, usando el definición palabra clave. Podemos agregarle cualquier tipo de funcionalidades y propiedades según lo requieramos. Con el siguiente ejemplo, podemos entender cómo escribir una función en Python. De esta manera podemos crear una definición de función de Python usando la palabra clave def.
Python3 # A simple Python function def fun(): print('Welcome to GFG')>
Llamar a una función en Python
Después de crear una función en Python, podemos llamarla usando el nombre de la función Python seguido de un paréntesis que contiene los parámetros de esa función en particular. A continuación se muestra el ejemplo para llamar a la función def Python.
Python3 # A simple Python function def fun(): print('Welcome to GFG') # Driver code to call a function fun()>
Producción:
Welcome to GFG>
Función Python con parámetros
Si tienes experiencia en C/C++ o Java entonces debes estar pensando en el tipo de retorno de la función y tipo de datos de argumentos. Esto también es posible en Python (específicamente para Python 3.5 y superiores).
Sintaxis de funciones de Python con parámetros
def function_name(parameter: data_type) ->return_type: '''Docstring''' # cuerpo de la expresión de retorno de la función>
El siguiente ejemplo utiliza argumentos y parámetros que aprenderá más adelante en este artículo para que pueda volver a consultarlo si no lo comprende.
Python3 def add(num1: int, num2: int) ->int: '''Sumar dos números''' num3 = num1 + num2 return num3 # Código del controlador num1, num2 = 5, 15 ans = add(num1, num2) print(f'La suma de {num1} y {num2} resultados {ans}.')>
Producción:
The addition of 5 and 15 results 20.>
Python3Nota: Los siguientes ejemplos se definen usando la sintaxis 1; intente convertirlos a la sintaxis 2 para practicar.
# some more functions def is_prime(n): if n in [2, 3]: return True if (n == 1) or (n % 2 == 0): return False r = 3 while r * r <= n: if n % r == 0: return False r += 2 return True print(is_prime(78), is_prime(79))>
Producción:
False True>
Argumentos de la función Python
Los argumentos son los valores pasados dentro del paréntesis de la función. Una función puede tener cualquier número de argumentos separados por una coma.
En este ejemplo, crearemos una función simple en Python para verificar si el número pasado como argumento a la función es par o impar.
Python3 # A simple Python function to check # whether x is even or odd def evenOdd(x): if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function evenOdd(2) evenOdd(3)>
Producción:
even odd>
Tipos de argumentos de funciones de Python
Python admite varios tipos de argumentos que se pueden pasar en el momento de la llamada a la función. En Python, tenemos los siguientes tipos de argumentos de función en Python:
- Argumento predeterminado
- Argumentos de palabras clave (argumentos con nombre)
- Argumentos posicionales
- Argumentos arbitrarios (argumentos de longitud variable *args y **kwargs)
Analicemos cada tipo en detalle.
Argumentos predeterminados
A argumento predeterminado es un parámetro que asume un valor predeterminado si no se proporciona un valor en la llamada de función para ese argumento. El siguiente ejemplo ilustra los argumentos predeterminados para escribir funciones en Python.
Python3 # Python program to demonstrate # default arguments def myFun(x, y=50): print('x: ', x) print('y: ', y) # Driver code (We call myFun() with only # argument) myFun(10)>
Producción:
x: 10 y: 50>
Al igual que los argumentos predeterminados de C++, cualquier número de argumentos en una función puede tener un valor predeterminado. Pero una vez que tenemos un argumento predeterminado, todos los argumentos a su derecha también deben tener valores predeterminados.
Argumentos de palabras clave
La idea es permitir que la persona que llama especifique el nombre del argumento con valores para que no necesite recordar el orden de los parámetros.
Python3 # Python program to demonstrate Keyword Arguments def student(firstname, lastname): print(firstname, lastname) # Keyword arguments student(firstname='Geeks', lastname='Practice') student(lastname='Practice', firstname='Geeks')>
Producción:
Geeks Practice Geeks Practice>
Argumentos posicionales
Usamos el Argumento de posición durante la llamada a la función para que el primer argumento (o valor) se asigne al nombre y el segundo argumento (o valor) a la edad. Al cambiar la posición, o si olvida el orden de las posiciones, los valores se pueden usar en lugares incorrectos, como se muestra en el ejemplo del Caso 2 a continuación, donde se asigna 27 al nombre y Suraj a la edad.
Python3 def nameAge(name, age): print('Hi, I am', name) print('My age is ', age) # You will get correct output because # argument is given in order print('Case-1:') nameAge('Suraj', 27) # You will get incorrect output because # argument is not in order print('
Case-2:') nameAge(27, 'Suraj')>
Producción:
Case-1: Hi, I am Suraj My age is 27 Case-2: Hi, I am 27 My age is Suraj>
Argumentos arbitrarios de palabras clave
En argumentos de palabras clave arbitrarias de Python, *args y **kwargs Puede pasar un número variable de argumentos a una función utilizando símbolos especiales. Hay dos símbolos especiales:
- *args en Python (argumentos sin palabras clave)
- **kwargs en Python (argumentos de palabras clave)
Ejemplo 1: Argumento sin palabras clave de longitud variable
Python3 # Python program to illustrate # *args for variable number of arguments def myFun(*argv): for arg in argv: print(arg) myFun('Hello', 'Welcome', 'to', 'techcodeview.com')>
Producción:
Hello Welcome to techcodeview.com>
Ejemplo 2: Argumentos de palabras clave de longitud variable
Python3 # Python program to illustrate # *kwargs for variable number of keyword arguments def myFun(**kwargs): for key, value in kwargs.items(): print('%s == %s' % (key, value)) # Driver code myFun(first='Geeks', mid='for', last='Geeks')>
Producción:
first == Geeks mid == for last == Geeks>
cadena de documentos
La primera cadena después de la función se llama cadena de documento o cadena de documentos en breve. Esto se utiliza para describir la funcionalidad de la función. El uso de docstring en funciones es opcional pero se considera una buena práctica.
La siguiente sintaxis se puede utilizar para imprimir la cadena de documentación de una función.
Syntax: print(function_name.__doc__)>
Ejemplo: Agregar Docstring a la función
Python3 # A simple Python function to check # whether x is even or odd def evenOdd(x): '''Function to check if the number is even or odd''' if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function print(evenOdd.__doc__)>
Producción:
Function to check if the number is even or odd>
Función de Python dentro de funciones
Una función que se define dentro de otra función se conoce como función interna o función anidada . Las funciones anidadas pueden acceder a variables del ámbito adjunto. Las funciones internas se utilizan para poder protegerlas de todo lo que sucede fuera de la función.
Python3 # Python program to # demonstrate accessing of # variables of nested functions def f1(): s = 'I love techcodeview.com' def f2(): print(s) f2() # Driver's code f1()>
Producción:
I love techcodeview.com>
Funciones anónimas en Python
En Python, un función anónima significa que una función no tiene nombre. Como ya sabemos, la palabra clave def se usa para definir las funciones normales y la palabra clave lambda se usa para crear funciones anónimas.
Python3 # Python code to illustrate the cube of a number # using lambda function def cube(x): return x*x*x cube_v2 = lambda x : x*x*x print(cube(7)) print(cube_v2(7))>
Producción:
343 343>
Funciones recursivas en Python
recursividad en Python se refiere a cuando una función se llama a sí misma. Hay muchos casos en los que es necesario crear una función recursiva para resolver Problemas matemáticos y recursivos.
El uso de una función recursiva debe hacerse con precaución, ya que una función recursiva puede convertirse en un bucle sin terminación. Es mejor verificar su declaración de salida mientras crea una función recursiva.
Python3 def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) print(factorial(4))>
Producción
24>
Aquí hemos creado una función recursiva para calcular el factorial del número. Puede ver que la declaración final de esta función es cuando n es igual a 0.
Declaración de devolución en la función Python
La declaración de retorno de función se utiliza para salir de una función y volver a la persona que llama a la función y devolver el valor o elemento de datos especificado a la persona que llama. La sintaxis de la declaración de devolución es:
return [expression_list]>
La declaración de retorno puede consistir en una variable, una expresión o una constante que se devuelve al final de la ejecución de la función. Si nada de lo anterior está presente en la declaración de devolución, se devuelve un objeto Ninguno.
Ejemplo: Declaración de devolución de función de Python
Python3 def square_value(num): '''This function returns the square value of the entered number''' return num**2 print(square_value(2)) print(square_value(-4))>
Producción:
4 16>
Pasar por referencia y pasar por valor
Una cosa importante a tener en cuenta es que en Python cada nombre de variable es una referencia. Cuando pasamos una variable a una función Python, se crea una nueva referencia al objeto. El paso de parámetros en Python es lo mismo que el paso de referencias en Java.
Python3 # Here x is a new reference to same list lst def myFun(x): x[0] = 20 # Driver Code (Note that lst is modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Producción:
[20, 11, 12, 13, 14, 15]>
Cuando pasamos una referencia y cambiamos la referencia recibida por otra cosa, la conexión entre los parámetros pasados y recibidos se rompe. Por ejemplo, considere el siguiente programa de la siguiente manera:
Python3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = [20, 30, 40] # Driver Code (Note that lst is not modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Producción:
[10, 11, 12, 13, 14, 15]>
Otro ejemplo demuestra que el enlace de referencia se rompe si asignamos un nuevo valor (dentro de la función).
Python3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = 20 # Driver Code (Note that x is not modified # after function call. x = 10 myFun(x) print(x)>
Producción:
10>
Ejercicio: Intente adivinar el resultado del siguiente código.
Python3 def swap(x, y): temp = x x = y y = temp # Driver code x = 2 y = 3 swap(x, y) print(x) print(y)>
Producción:
2 3>
enlaces rápidos
- Prueba sobre funciones de Python
- Diferencia entre método y función en Python
- Funciones de primera clase en Python
- Artículos recientes sobre funciones de Python .
Preguntas frecuentes: funciones de Python
P1. ¿Qué es la función en Python?
La función Python es un bloque de código que se ejecuta solo cuando se llama. Está programado para devolver la tarea específica. Puede pasar valores en funciones llamadas parámetros. Ayuda a realizar tareas repetitivas.
P2. ¿Cuáles son los 4 tipos de funciones en Python?
Los principales tipos de funciones en Python son:
- Función incorporada
- Función definida por el usuario
- funciones lambda
- Funciones recursivas
P3. h Cómo escribir una función en Python ?
Para escribir una función en Python, puede usar la palabra clave def y luego escribir el nombre de la función. Puede proporcionar el código de función después de usar ‘:’. La sintaxis básica para definir una función es:
def nombre_función():
#declaración
P4. ¿Cuáles son los parámetros de una función en Python?
Los parámetros en Python son las variables que toman los valores pasados como argumentos al llamar a las funciones. Una función puede tener cualquier número de parámetros. También puede establecer el valor predeterminado para un parámetro en Python.