Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:cursos:introduccion_programacion_python

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:python:cursos:introduccion_programacion_python [2023/04/24 11:10] – [Temario] tempwininformatica:programacion:python:cursos:introduccion_programacion_python [2023/04/29 00:33] (actual) – [Temario] tempwin
Línea 81: Línea 81:
     * Métodos especiales     * Métodos especiales
     * Ejercicios prácticos     * Ejercicios prácticos
 +  * [[informatica:programacion:python:cursos:introduccion_programacion_python:ejemplos_practicos|Ejemplos prácticos]]
  
-===== Bonus =====+===== Software necesario =====
  
 +  * [[https://www.python.org/downloads/|Intérprete y bibliotecas de Python]] (versión 3.x)
 +  * Editor de texto o IDE. Algunas opciones:
 +    * [[https://code.visualstudio.com/|Visual Studio Code]] (con extensión de Python)
 +    * PyCharm
 +    * [[https://jupyter.org/install|Jupyter]]
 +  * Terminal (Bash, Zsh, CMD, PowerShell, ...)
 +    * [[https://aka.ms/terminal|Windows Terminal]]
  
 +==== Jupyter Lab ====
 +
 +Para instalar, desde el terminal:
 +
 +<code>
 +python3 -m venv .venv
 +</code>
 +
 +<code>
 +source .venv/bin/activate
 +</code>
 +
 +Instalamos el módulo de Jupyter Lab:
 +
 +<code>
 +pip install jupyterlab
 +</code>
 +
 +Lanzamos el entorno:
 +
 +<code>
 +source .venv/bin/activate
 +jupyter-lab
 +</code>
 +===== Ejercicios =====
 +
 +Investigue algún paquete en https://pypi.org de entre los siguientes:
 +
 +  * Django
 +  * Flask
 +  * PyQt6
 +  * BeautifulSoup
 +  * Colorama
 +  * pandas
 +  * scikit-learn
 +  * matplotlib
 +  * seaborn
 +  * SQLAlchemy
 +
 +Elija uno y descríbalo, indicando los siguientes puntos:
 +
 +  - Nombre del paquete
 +  - Descripción
 +  - Fecha de publicación de la última versión
 +  - Fecha de publicación de la primera versión
 +  - Licencia
 +  - Versión mínima requerida de Python
 +
 +===== Cuestionario =====
 +
 +**¿En qué se diferencian las listas y las tuplas de Python?**
 +
 +  * Las listas son inmutables, mientras que las tuplas se pueden modificar.
 +  * **Las tuplas son inmutables, mientras que las listas se pueden modificar**
 +  * Se comportan exactamente igual
 +
 +**¿Qué secuencia de números genera ''range(5)''?**
 +
 +  * **0, 1, 2, 3, 4**
 +  * 1, 2, 3, 4, 5
 +  * 0, 1, 2, 3, 4, 5
 +
 +**¿Cuántas veces se puede llegar a repetir un bucle while?**
 +
 +  * Una o ninguna
 +  * 1 o más
 +  * **0 o más**
 +
 +**¿Qué representa ''self'' dentro del código de una clase en Python?**
 +
 +  * Define una representación textual del objeto
 +  * Indica el nombre de la clase
 +  * **Se refiere al mismo objeto con el que se está trabajando**.
 +
 +**¿Una función puede recibir más de un parámetro opcional?**
 +
 +  * No, solamente se admite uno.
 +  * **Sí, siempre que se declare después de los que son obligatorios**.
 +  * Sí, independientemente de donde sea declarado en la lista de parámetros.
 +
 +**¿Qué tipo de datos propio de Python permite asociar claves y valores?**
 +
 +  * Conjuntos (set)
 +  * Tuplas (tuple)
 +  * **Diccionarios (dict)**
 +
 +**¿Cómo se puede añadir un elemento al final de una lista en Python?**
 +
 +  * ''listaz.add(x)''
 +  * No se puede porque las listas son inmutables
 +  * **''lista.append(x)''**
 +
 +**Las instrucciones que se colocan después de un bloque ''else'', ¿cuándo se ejecuta?**
 +
 +  * Cuando la condición del ''if'' es verdadera.
 +  * **Cuando la condición del ''if'' es falsa**.
 +  * Incondicionalmente, sea cual sea el resultado de la condición.
 +
 +**¿Qué hace la palabra clave ''break'' en un bucle?**
 +
 +  * **Interrumpir el bucle, continuando la ejecución en el código que está después de dicho bucle**.
 +  * Saltarse instrucciones para continuar en la siguiente vuelta o iteracción.
 +  * Termina forzosamente la ejecución de un programa.
 +
 +**¿Qué diferencia hay entre los operadores ''%%==%%'' y ''='' en Python?**
 +
 +  * Son lo mismo
 +  * Con ''%%==%%'' se asignan los valores a una variable; con ''='' se compara si son equivalentes dos expresiones.
 +  * **Con ''='' se asignan los valores a una variable; con ''%%==%%'' se compara si son equivalentes dos expresiones**.
 +
 +===== Bibliotecas de terceros =====
 +
 +Algunas bibliotecas de Python interesantes:
 +
 +  * [[https://www.djangoproject.com/|Django]]: framework para desarrollo web.
 +  * Flask: biblioteca para el desarrollo web.
 +  * [[informatica:programacion:python:modulos:pyqt|PyQt6]]: para crear interfaces gráficas de usuario
 +  * [[https://docs.python.org/3/library/tkinter.html|TkInter]]: para crear interfaces gráficas de usuario ([[https://realpython.com/python-gui-tkinter/|Tutorial]])
 +  * **BeautifulSoup**: biblioteca para procesar elementos en texto estructurado (XML y HTML). Muy utilizada para la práctica del "web scrapping", o extracción de datos de páginas y servicios web.
 +  * **Colorama**: permite imprimir textos en colores en la salida de la terminal o consola, incluyendo el fondo o estilo del texto, en múltiples plataformas
 +  * [[informatica:programacion:python:modulos:pandas|Pandas]]: biblioteca para el análisis y manipulación de datos. Hay quien lo utiliza con cantidades ingentes de información, para procesar y transformar datos.
 +  * NumPy
 +  * Scikit-learn
 +  * MatplotLib
 +  * Seaborn
 +  * SQLAlchemy: proporciona las herramientas necesarias para administrar la conectividad a una base de datos relacional, interactuar con las consultas y los resultados de las bases de datos y la construcción de las declaraciones en SQL.
 +  * Natural Language Toolkit: procesamiento del lenguaje natural 
 +  * Requests: Biblioteca para realizar peticiones HTTP desde Python de forma sencilla y obtener las respuestas de las mismas. Python incluye por defecto la biblioteca ''http'', pero Requests es más fácil de usar.
 +  * [[https://python-pillow.org/|Pillow]]: procesar y generar imágenes con Python.
 +  * [[https://geopandas.org/en/stable/|GeoPandas]]: es una biblioteca que complementa a Pandas, ampliando las funciones de esta última para poder procesar datos geoespaciales.
 +
 +===== Diseño de proyectos =====
 +
 +Está todo centrado en Programación Orientada a Objetos.
 +
 +  * https://devexperto.com/ley-de-demeter/
 +  * https://en.wikipedia.org/wiki/Law_of_Demeter
 +  * https://es.wikipedia.org/wiki/SOLID
informatica/programacion/python/cursos/introduccion_programacion_python.1682327401.txt.gz · Última modificación: por tempwin