Funciones en Python
Las funciones son bloques de código reutilizables que permiten organizar y dividir en módulos la lógica de programación. En Python, las funciones juegan un papel crucial al permitirte escribir código más limpio, eficiente y fácil de mantener.
Crear una Función en Python
Para crear una función en Python, utilizamos la palabra clave
def
, seguida del nombre de la función y paréntesis que pueden contener los parámetros de la función. Después de los paréntesis, se coloca un bloque de código indentado que constituye el cuerpo de la función.
Otro ejemplo para crear un función:
Ejemplo
def my_function():
print("Mi primera función")
Para llamar a una función, use el nombre de la función seguido de paréntesis:
Ejemplo
def my_function():
print("Hola, esta es mi primera función")
my_function()
Llamar a una función
Para utilizar una función que has creado, simplemente escriba su nombre seguido de paréntesis y los argumentos necesarios (si los hay). Por ejemplo:
Ejemplo
saludar("Marcos")
Argumentos
Los argumentos son valores que se pasan a una función cuando se llama. Pueden ser utilizados por la función para realizar operaciones y devolver resultados.
Número de Argumentos
Una función puede aceptar cualquier número de argumentos, incluso ninguno. Esto depende de cómo la función haya sido definida.
Argumentos Arbitrarios
Si no sabes cuántos argumentos se pasarán a la función, puedes usar *args para permitir un número arbitrario de argumentos posicionales.
Argumentos de Palabras Clave
Los argumentos de palabras clave te permiten pasar valores utilizando la sintaxis "
nombre=valor" al llamar a una función. Estos valores se asignan a los parámetros correspondientes en la función.
Ejemplo
def saludar(nombre, mensaje):
print(mensaje + ", " + nombre)
saludar(nombre="Elena", mensaje="Hola")
Valor de Parámetro Predeterminado
Puedes establecer valores predeterminados para los parámetros en una función. Si no se pasa un valor para ese parámetro, se utilizará el valor predeterminado.
Ejemplo
def saludar(nombre):
return f"Hola, {nombre}"
print(saludar("Elena"))
Otro ejemplo:
Ejemplo
def my_function(nombre ="Manuel"):
print("Me llamo" + nombre)
my_function("Manuel")
my_function("Agustín")
my_function() my_function("Javier")
Parámetros
La información se puede pasar a funciones como parámetro. Los parámetros se especifican después del nombre de la función, dentro de los paréntesis.
Puede agregar tantos parámetros como desee, solo sepárelos con una coma.
El siguiente ejemplo tiene una función con un parámetro (
fname
). Cuando se llama a la función, pasamos un nombre que se utiliza dentro de la función para imprimir el nombre completo:
Ejemplo
def my_function(fname):
print(fname + "Python")
my_function("Manuel")
my_function("Agustín")
my_function("Javier")
Pasar una Lista como Argumento
Puedes pasar una lista como argumento a una función y luego trabajar con sus elementos.
Ejemplo
def imprimir_lista(lista):
for elemento in lista:
print(elemento)
mi
mi_lista = ["manzana", "banana", "cereza"]
imprimir_lista(mi_lista)
Valores Devueltos
Las funciones pueden devolver valores utilizando la palabra clave
return
.
Aquí tienes otro ejemplo:
Ejemplo
def my_function(x):
return 10 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
Declaración de Pase
La declaración
pass
se usa cuando una función debe estar presente sintácticamente pero no realiza ninguna operación. Es útil como marcador de posición durante el desarrollo.
Recursividad
Una función puede llamarse a sí misma, lo que se conoce como recursividad. Esto es útil para resolver problemas que pueden dividirse en problemas más pequeños del mismo tipo.
En resumen, las funciones en Python son una herramienta poderosa para estructurar y organizar tu código de manera efectiva. Te permiten encapsular lógica, reutilizar código y escribir programas más claros y fáciles de mantener. Con una comprensión sólida de cómo trabajar con argumentos, valores devueltos y otros conceptos fundamentales, estarás bien encaminado para escribir programas más eficientes y elegantes.
Ejemplo
def sumar(a, b):
return a + b
resultado = sumar(5, 3)
print(resultado)
Funciones
Aquí tienes el listado de las funciones integradas de Python:
| Función | Descripción |
|---|---|
| abs() | Devuelve el valor absoluto de un número. |
| all() | Devuelve True si todos los elementos de un objeto iterable son verdaderos |
| any() | Devuelve True si algún elemento en un objeto iterable es verdadero |
| ascii() | Devuelve una versión legible de un objeto. Reemplaza los caracteres que no son ascii con caracteres de escape |
| bin() | Devuelve la versión binaria de un número. |
| bool() | Devuelve el valor booleano del objeto especificado |
| bytearray() | Devuelve una matriz de bytes. |
| bytes() | Devuelve un objeto de bytes |
| callable() | Devuelve True si se puede llamar al objeto especificado; de lo contrario, devuelve False |
| chr() | Devuelve un carácter del código Unicode especificado. |
| classmethod() | Convierte un método en un método de clase |
| compile() | Devuelve la fuente especificada como un objeto, listo para ser ejecutado |
| complex() | Devuelve un número complejo |
| delattr() | Elimina el atributo especificado (propiedad o método) del objeto especificado |
| dict() | Devuelve un diccionario (Array) |
| dir() | Devuelve una lista de las propiedades y métodos del objeto especificado. |
| divmod() | Devuelve el cociente y el resto cuando argumento1 se divide por argumento2 |
| enumerate() | Toma una colección (por ejemplo, un tuple) y la devuelve como un objeto de enumeración |
| eval() | Evalúa y ejecuta una expresión. |
| exec() | Ejecuta el código especificado (u objeto) |
| filter() | Use una función de filtro para excluir elementos en un objeto iterable |
| float() | Devuelve un número de punto flotante |
| format() | Formatea un valor especificado |
| frozenset() | Devuelve un objeto frozenset |
| getattr() | Devuelve el valor del atributo especificado (propiedad o método) |
| globals() | Devuelve la tabla de símbolos global actual como un diccionario |
| hasattr() | Devuelve True si el objeto especificado tiene el atributo especificado (propiedad/método) |
| hash() | Devuelve el valor hash de un objeto especificado |
| help() | Ejecuta el sistema de ayuda incorporado |
| hex() | Convierte un número en un valor hexadecimal |
| id() | Devuelve el id de un objeto |
| input() | Permitir la entrada del usuario |
| int() | Devuelve un número entero |
| isinstance() | Devuelve True si un objeto especificado es una instancia de un objeto especificado |
| issubclass() | Devuelve True si una clase especificada es una subclase de un objeto especificado |
| iter() | Devuelve un objeto iterador. |
| len() | Devuelve la longitud de un objeto. |
| list() | Devuelve una lista |
| locals() | Devuelve un diccionario actualizado de la tabla de símbolos local actual |
| map() | Devuelve el iterador especificado con la función especificada aplicada a cada elemento |
| max() | Devuelve el elemento más grande en un iterable |
| memoryview() | Devuelve un objeto de vista de memoria |
| min() | Devuelve el elemento más pequeño en un iterable. |
| next() | Devuelve el siguiente elemento en un iterable. |
| object() | Devuelve un nuevo objeto. |
| oct() | Convierte un número en un octal |
| open() | Abre un archivo y devuelve un objeto de archivo |
| ord() | Convierta un número entero que represente el Unicode del carácter especificado |
| pow() | Devuelve el valor de x a la potencia de y |
| print() | Pinta en el dispositivo de salida estándar |
| property() | Obtiene, establece, elimina una propiedad |
| range() | Devuelve una secuencia de números, comenzando desde 0 e incrementando en 1 (por defecto) |
| repr() | Devuelve una versión legible de un objeto. |
| reversed() | Devuelve un iterador invertido |
| round() | Redondea un numero |
| set() | Devuelve un nuevo objeto establecido |
| setattr() | Establece un atributo (propiedad/método) de un objeto |
| slice() | Devuelve un objeto de corte |
| sorted() | Devuelve una lista ordenada |
| staticmethod() | Convierte un método en un método estático |
| str() | Devuelve un objeto de cadena |
| sum() | Suma los elementos de un iterador. |
| super() | Devuelve un objeto que representa la clase principal. |
| tuple() | Devuelve un tuple |
| type() | Devuelve el tipo de un objeto. |
| vars() | Devuelve la propiedad dict de un objeto |
| zip() | Devuelve un iterador, de dos o más iteradores |
Practica Funciones en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Definir una función
Para crear una función en Python, utilizamos la palabra clave def , seguida del nombre de la función y paréntesis que pueden contener los parámetros.
Ejercicio: Definir una función (2)
Para llamar a una función, use el nombre de la función seguido de paréntesis.
Ejercicio: Definir una función (4)
Los argumentos de palabras clave te permiten pasar valores utilizando la sintaxis " nombre=valor" al llamar a una función. Estos valores se asignan a los parámetros correspo.
Ejemplo
def saludar(nombre, mensaje):
print(mensaje + ", " + nombre)
saludar(nombre="Elena", mensaje="Hola")
Ejercicio: Parámetros con valor por defecto
Define una función con un parámetro opcional y llámala de dos formas.
Ejemplo
def saludar(nombre="Elena"):
print(f"Hola, {nombre}")
saludar()
saludar("Marcos")
Ejercicio: Bucle for (2)
Puedes pasar una lista como argumento a una función y luego trabajar con sus elementos.
Ejemplo
def imprimir_lista(lista):
for elemento in lista:
print(elemento)
mi
mi_lista = ["pera", "mango", "fresa"]
imprimir_lista(mi_lista)
Ejercicio: Definir una función (5)
Las funciones pueden devolver valores utilizando la palabra clave return.
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.