fbpx
Volver a Curso

Curso profesional de Python

0% Completado
0/0 Steps
  1. Antes de iniciar el curso.

    Grupos y Foros
  2. Curso profesional de Python
    Preparación del ambiente de trabajo.
  3. Estructura y elementos del lenguaje
    7 Temas
    |
    1 Cuestionario
  4. Principales métodos del objeto string
    7 Temas
    |
    1 Cuestionario
  5. Tipos de datos complejos
    4 Temas
    |
    1 Cuestionario
  6. Funciones definidas por el usuario
    4 Temas
    |
    1 Cuestionario
  7. Módulos, paquetes y namespaces
    3 Temas
    |
    1 Cuestionario
  8. POO/OOP (Programación Orientada a Objetos)
    8 Temas
    |
    1 Cuestionario
  9. Conversión de tipos
    5 Temas
    |
    1 Cuestionario
  10. Ficheros
    4 Temas
    |
    1 Cuestionario
  11. Bases de datos con SQLITE3
    3 Temas
    |
    1 Cuestionario
  12. Encuesta sobre el curso
  13. Proyecto final
    2 Temas
Lección Progreso
0% Completado

Muy bien. En este episodio hablaremos sobre por qué elegir Python y algunas de sus características, así que comencemos.

¿Por qué Python?

Python nace a principios de los ’90 como un hobby de Guido Van Rossum y debe su nombre al programa de TV “Monty Python’s Flying Circus”.

Python posee una serie de características que le aportan mucha ventaja respecto a otros lenguajes y que son la raíz del gran crecimiento en su uso.

Python es de código abierto y es gestionado por la “Python Software Foundation”, una sociedad sin ánimo de lucro dedicada apoyar la evolución de lenguaje.

Python es un lenguaje multiparadigma, lo que significa que combina características de diferentes paradigmas de programación. Principalmente es un lenguaje orientado a objetos, de hecho, en Python TODO es un objeto, pero también incorpora aspectos de la programación funcional.

Si vienes de otro lenguaje de programación como C, Go, etc, te encantará que Python sea un lenguaje interpretado, ya que no deberás repetir el ciclo de escribir código, compilarlo, testearlo y recompilarlo, sino que podrás utilizar el intérprete de Python para experimentar características, testear funcionalidades y escribir programas temporales.

Además, es de tipado dinámico, por lo que no es necesario que especifiques el tipo de dato de una variable al crear tu código.

Archivos e intérprete

Python es un lenguaje interpretado, por lo que puedes escribir tu código en un archivo de texto, guardarlo con la extensión .py y luego ejecutarlo ó puedes abrir el intérprete e ir creando y testeando tu código al mismo tiempo.

Si vienes de realizar otro curso de programación, es probable que encuentres familiar la temática de comenzar con varios capítulos sobre fundamentos y avanzar poco a poco para lograr crear algún programa útil. Vamos a intentar cambiar un tanto este esquema y comenzaremos viendo un programa escrito en Python.

Si sabes programar en otro lenguaje, puede que seas capaz de interpretar qué sucede en este programa, si no es así y Python es tu primer lenguaje de programación, no desesperes, lo leeremos línea por línea hasta que logres entenderlo.

Antes de comenzar a analizar el programa, vamos a guardar este código en un archivo y a ejecutarlo para ver qué sucede. Para ello, deberás seguir estos pasos:

import datetime as dt

#Condiciones para obtener el delta. Deben estar en orden de coincidencia.
#date es la fecha que se comparará
CONDICIONES = {
    "Hoy": "today == date",
    "Ayer": "today - date == dt.timedelta(days=1)",
    "Esta semana": "today.isocalendar()[1] == date.isocalendar()[1]",
    "La semana pasada": "today.isocalendar()[1] - date.isocalendar()[1] == 1",
    "Este mes": "today.month == date.month",
    "El mes pasado": "today.month - date.month == 1",
    "Este año": "today.year == date.year",
    "El año pasado": "today.year - date.year == 1",
}

def ultima_modificacion(fecha):
    ''' Devuelve hace cuanto fue modificado un archivo recibiendo la fecha en la cual fue modificado.

    Parameters:
        str fecha: Fecha en isoformat en la que fue modificado el archivo.
    Returns:
        str: Representación textual de hace cuanto fue modificado el archivo.
    Raises:
        ValueError: En caso que la fecha que se ingresa sea mayor al día actual.
    '''
    date = dt.datetime.fromisoformat(fecha).date()
    today = dt.date.today()

    if date > today:
        raise ValueError("La fecha es mayor al día actual.")

    for k,v in CONDICIONES.items():
        if eval(v):
            return k
            
    # En caso que no se cumpla ninguna condición
    return "Hace más de un año"

if __name__ == '__main__':
    print(ultima_modificacion("2019-11-14"))
  1. Copiar el archivo en un documento de texto y guardarlo como “ultima_modificacion.py“.
    Para esto, tal como vimos cuando preparábamos el ambiente, yo utilizo Sublime Text, pero puedes utilizar el editor de textos que más te guste.
  2. Abrir una ventana de comandos y situarte en el directorio donde hayas guardado el archivo.
  3. Ejecutar el comando “python ultima_modificacion.py“.

Y Eso es todo! Has ejecutado tu primer programa en Python! Para ser exactos, has ejecutado el intérprete de Python (python) pasando como parámetro el nombre del archivo (ultima_modificacion.py)

Una vez que ejecutas este código, se importa un módulo de Python al namespace (import datetime as dt) luego se define una única función de Python (ultima_modificacion), que toma como parámetro la fecha de la última modificación de un archivo y calcula la representación de hace cuánto fue modificado, de una manera más elegante y comprensible para humanos.

La línea de código 40 (print(ultima_modificacion(“2019-11-14”))) es una llamada a función, primero se llama a última_modificacion() pasando una fecha como parámetro o argumento, la misma es ejecutada y devuelve un valor que luego se pasa como parámetro cuando se llama a la función print().

Tal como vimos cuando preparábamos el ambiente, la función print() es propia del lenguaje y no verás que sea definida en ninguna parte del código, puedes usarla en cualquier momento para imprimir un valor en pantalla.

A no ser que ejecutes este programa en días distintos, siempre se imprimirá el mismo valor. En el próximo video ahondaremos en este código para poder comprender todos los conceptos que se aplican.