🐍 Tratamiento de Ficheros y Funciones en Python

Python es uno de los lenguajes más potentes y versátiles del mundo de la programación. En este artículo exploraremos algunos de sus pilares fundamentales: el tratamiento de ficheros y las funciones, incluyendo su uso con estructuras iterables, funciones lambda, y mucho más.


📂 Lectura y Escritura de Ficheros

Python nos permite trabajar con archivos de forma muy sencilla:

# Leer un archivo
with open("archivo.txt", "r") as f:
    contenido = f.read()

# Escribir en un archivo
with open("archivo.txt", "w") as f:
    f.write("Hola, mundo!")

# Añadir contenido sin borrar el existente
with open("archivo.txt", "a") as f:
    f.write("\nNueva línea")


💻 Interacción con el Sistema de Ficheros

Con los módulos os y shutil, puedes gestionar archivos y carpetas:

import os
import shutil

os.rename("antiguo.txt", "nuevo.txt")
shutil.copy("archivo.txt", "copia.txt")
os.remove("archivo.txt")


🔁 Funciones en Python

Las funciones permiten reutilizar bloques de código:

def saludar(nombre):
    return f"Hola, {nombre}!"

Llamarla es tan simple como:

print(saludar("Ana"))


📥 Tipos de Parámetros en Funciones

Python ofrece mucha flexibilidad en la definición de funciones:

Posicionales

def saludar(nombre, edad):
    print(f"Hola {nombre}, tienes {edad} años.")

Nombrados

saludar(edad=30, nombre="Luis")

Por defecto

def saludar(nombre, edad=18):
    print(f"Hola {nombre}, tienes {edad} años.")

*args y **kwargs

def suma(*numeros):
    return sum(numeros)

def mostrar_info(**datos):
    for clave, valor in datos.items():
        print(f"{clave}: {valor}")


🌍 Ámbito de las Variables: Global vs Local

x = 10  # Global

def mi_funcion():
    x = 5  # Local
    print(x)  # Imprime 5

mi_funcion()
print(x)  # Imprime 10

Si quieres modificar la variable global desde dentro de la función:

def modificar():
    global x
    x += 1


📦 Módulos: Organiza tu Código

Puedes guardar funciones en archivos .py para reutilizarlas:

Ejemplo: mi_modulo.py

def saludar(nombre):
    return f"¡Hola, {nombre}!"

Cómo importar módulos:

import mi_modulo
print(mi_modulo.saludar("Carlos"))

# Acortar el nombre del módulo
import mi_modulo as mm

# Importar solo una función
from mi_modulo import saludar

# Importar varias funciones
from mi_modulo import saludar, otra_funcion

⚠️ Evita from mi_modulo import * para no generar conflictos de nombres.


⚡ Funciones Lambda

Son funciones anónimas y rápidas, útiles para operaciones simples:

doble = lambda x: x * 2
print(doble(4))  # 8


🔁 Funciones sobre Estructuras Iterables

Con map, filter y reduce puedes aplicar funciones a listas:

# map
numeros = [1, 2, 3]
dobles = list(map(lambda x: x * 2, numeros))

# filter
pares = list(filter(lambda x: x % 2 == 0, numeros))

# reduce
from functools import reduce
suma_total = reduce(lambda x, y: x + y, numeros)


🚀

Dominar el tratamiento de ficheros y funciones en Python te permitirá escribir código más limpio, reutilizable y potente. Ahora que conoces estos fundamentos, ¡es hora de practicar y aplicarlos a tus propios proyectos!

Deja un comentario

Soy Silvia

Bienvenido/a a El taller de datos, mi acogedor rincón en internet dedicado a todo lo relacionado con mi aprendizaje de este mundo analítico. Aquí te invito a acompañarme en un viaje de creatividad, artesanía y todo hecho a mano con un toque de amor. ¡Vamos a ponernos creativos!