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.

def saludar(nombre):
    print("Hola, " + nombre)

Otro ejemplo para crear un función:

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:

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:

saludar("Alice")
saludar("Bob")

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.

def mi_funcion(*args):
    for arg in args:
        print(arg)

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.

def saludar(nombre, mensaje):
    print(mensaje + ", " + nombre)

saludar(nombre="Alice", 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.

def saludar(nombre, mensaje="Hola"):
    print(mensaje + ", " + nombre)

saludar(nombre="Bob")

Otro 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:

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.

def imprimir_lista(lista):
    for elemento in lista:
        print(elemento)

mi_lista = ["manzana", "banana", "cereza"]
imprimir_lista(mi_lista)

Valores Devueltos

Las funciones pueden devolver valores utilizando la palabra clave return.

def sumar(a, b):
    return a + b

resultado = sumar(5, 3)

Aquí tienes otro 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.

def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else: result = 0
return result
print("\D:\Ejercicio Recursion ejemplo\")
tri_recursion(8)

Funciones

Aquí tienes el listado de las funciones integradas de Python:

FunciónDescripció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