informatica:programacion:python:cursos:introduccion_programacion_python
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:python:cursos:introduccion_programacion_python [2023/04/20 18:43] – [Temario] tempwin | informatica:programacion:python:cursos:introduccion_programacion_python [2023/04/29 00:33] (actual) – [Temario] tempwin | ||
|---|---|---|---|
| Línea 17: | Línea 17: | ||
| * Introducción de datos –input() | * Introducción de datos –input() | ||
| * Ejercicios prácticos | * Ejercicios prácticos | ||
| - | * **Bloque II: Variables y tipos de datos** | + | * **[[informatica: |
| * Variables | * Variables | ||
| * Tipos de datos | * Tipos de datos | ||
| Línea 81: | Línea 81: | ||
| * Métodos especiales | * Métodos especiales | ||
| * Ejercicios prácticos | * Ejercicios prácticos | ||
| + | * [[informatica: | ||
| + | ===== Software necesario ===== | ||
| - | ===== Variables | + | * [[https:// |
| + | * Editor de texto o IDE. Algunas opciones: | ||
| + | * [[https:// | ||
| + | * PyCharm | ||
| + | * [[https:// | ||
| + | * Terminal (Bash, Zsh, CMD, PowerShell, ...) | ||
| + | * [[https:// | ||
| - | ==== Definición de variables | + | ==== Jupyter Lab ==== |
| - | <code python> | + | Para instalar, desde el terminal: |
| - | nombre_de_la_variable = valor | + | |
| - | </ | + | |
| - | Python es un lenguaje de tipado " | + | < |
| - | + | python3 -m venv .venv | |
| - | < | + | |
| - | a = 1 | + | |
| - | type(a) # int | + | |
| - | + | ||
| - | a = " | + | |
| - | + | ||
| - | type(a) # str | + | |
| </ | </ | ||
| - | <WRAP center round info 60%> | + | < |
| - | La función '' | + | source .venv/bin/ |
| - | </ | + | |
| - | + | ||
| - | Definición de una variable como resultado de una operación: | + | |
| - | + | ||
| - | < | + | |
| - | b = 5 * 3 | + | |
| - | + | ||
| - | b # 15 | + | |
| - | + | ||
| - | c = (b + 1) / 2 | + | |
| - | + | ||
| - | c # 8.0 | + | |
| - | + | ||
| - | type(c) # float | + | |
| </ | </ | ||
| - | Como la división podría dar lugar a un número con decimales, Python lo transforma en un tipo de dato flotante. El operador de división ''/'' | + | Instalamos |
| - | < | + | < |
| - | r = 7 % 2 | + | pip install jupyterlab |
| - | + | ||
| - | r # 1 | + | |
| </ | </ | ||
| - | ==== Operaciones aritméticas ==== | + | Lanzamos el entorno: |
| - | + | ||
| - | * Suma: '' | + | |
| - | * Resta: '' | + | |
| - | * Cambio de signo: '' | + | |
| - | * Multiplicación: | + | |
| - | * División: '' | + | |
| - | * Potencia: '' | + | |
| - | * Módulo / resto división entera: '' | + | |
| - | < | + | < |
| - | f = 1 + c * 5 - (b + 1) / 3 | + | source .venv/bin/ |
| + | jupyter-lab | ||
| </ | </ | ||
| + | ===== Ejercicios ===== | ||
| - | Primero se evalúa lo que hay entre paréntesis y luego operaciones | + | Investigue algún paquete en https:// |
| - | | + | |
| - | | + | |
| - | | + | * PyQt6 |
| - | - 1 + | + | |
| + | * Colorama | ||
| + | * pandas | ||
| + | * scikit-learn | ||
| + | * matplotlib | ||
| + | * seaborn | ||
| + | * SQLAlchemy | ||
| - | ==== Operaciones lógicas ==== | + | Elija uno y descríbalo, |
| - | Afectan a valores lógicos o // | + | - 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 ===== |
| - | * ''>'': | + | |
| - | * ''<'': | + | |
| - | * ''> | + | |
| - | * ''< | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | Tabla de verdad del operador '' | + | **¿En qué se diferencian las listas y las tuplas |
| - | ^ Expresión | + | |
| - | | True and True | + | |
| - | | True and False | | + | |
| - | | False and True | | + | |
| - | | False and False | | + | |
| - | Tabla de verdad del operador | + | **¿Qué secuencia |
| - | ^ Expresión | + | |
| - | | True and True | + | |
| - | | True and False | | + | |
| - | | False and True | | + | |
| - | | False and False | | + | |
| + | **¿Cuántas veces se puede llegar a repetir un bucle while?** | ||
| - | Tabla de verdad del operador '' | + | * Una o ninguna |
| + | * 1 o más | ||
| + | * **0 o más** | ||
| - | ^ Expresión | + | **¿Qué representa '' |
| - | | not True | | + | |
| - | | not False | + | |
| + | * Define una representación textual del objeto | ||
| + | * Indica el nombre de la clase | ||
| + | * **Se refiere al mismo objeto con el que se está trabajando**. | ||
| - | <code python> | + | **¿Una función puede recibir más de un parámetro opcional?** |
| - | p = True | + | |
| - | q = False | + | |
| - | s = True | + | |
| - | p, q, s # (True, False, True) | + | * 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. | ||
| - | w = p or q # True | + | **¿Qué tipo de datos propio de Python permite asociar claves |
| - | y = p and s # True | + | |
| - | z = not q # True | + | |
| - | </ | + | |
| - | Aunque no existe la operación | + | |
| + | | ||
| + | | ||
| - | <code python> | + | **¿Cómo se puede añadir un elemento al final de una lista en Python?** |
| - | x = (p and not q) or (not p and q) | + | |
| - | </ | + | |
| - | Orden de precedencia de operaciones lógicas: | + | * '' |
| + | * No se puede porque las listas son inmutables | ||
| + | * **'' | ||
| - | - Se evalúa lo que haya entre paréntesis | + | **Las instrucciones |
| - | - not | + | |
| - | - and | + | |
| - | - or | + | |
| - | En Python se utiliza | + | * Cuando |
| + | * **Cuando la condición del '' | ||
| + | * Incondicionalmente, sea cual sea el resultado | ||
| - | === Operaciones con cadenas de caracteres | + | **¿Qué hace la palabra clave '' |
| - | * Concatenación de las cadenas '' | + | * **Interrumpir el bucle, continuando la ejecución en el código que está después |
| - | | + | * Saltarse instrucciones para continuar en la siguiente vuelta |
| - | * Longitud | + | * Termina forzosamente la ejecución |
| - | * Conversión | + | |
| - | <code python> | + | **¿Qué diferencia hay entre los operadores '' |
| - | s = " | + | |
| - | t = " | + | |
| - | s, t # ('Hola', 'Mundo') | + | * Son lo mismo |
| + | * Con '' | ||
| + | * **Con '' | ||
| - | s + t # ' | + | ===== Bibliotecas de terceros ===== |
| - | s * 3 # ' | + | Algunas bibliotecas de Python interesantes: |
| - | len(s) # 4 | + | * [[https:// |
| + | * Flask: biblioteca para el desarrollo web. | ||
| + | * [[informatica: | ||
| + | * [[https:// | ||
| + | * **BeautifulSoup**: | ||
| + | * **Colorama**: | ||
| + | * [[informatica: | ||
| + | * 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 '' | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| - | q = 4 | + | ===== Diseño |
| - | + | ||
| - | str(q) # ' | + | |
| - | </ | + | |
| - | + | ||
| - | Si quisiéramos unir cadenas con algún caracter, podemos usar el método '' | + | |
| - | + | ||
| - | <code python> | + | |
| - | s = " | + | |
| - | t = " | + | |
| - | + | ||
| - | " | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round tip 60%> | + | |
| - | Todas las operaciones que podríamos hacer con cadenas de caracteres podemos verlas con '' | + | |
| - | </ | + | |
| - | + | ||
| - | === Operaciones | + | |
| - | + | ||
| - | Sirven para comparar dos valores de varias formas diferentes, dando como resultado un valor booleano: | + | |
| - | + | ||
| - | * Igualdad: '' | + | |
| - | * Diferente o no es igual: '' | + | |
| - | * Mayor que: '' | + | |
| - | * Menor que: '' | + | |
| - | * Mayor o igual que: '' | + | |
| - | * Menor o igual que: '' | + | |
| - | + | ||
| - | Los tipos de datos que se pueden comparar deben tener definido un orden, como ocurre con los números enteros, los números de coma flotante o las cadenas de caracteres, entre otros. | + | |
| - | + | ||
| - | <code python> | + | |
| - | a = 3 | + | |
| - | b = 4 | + | |
| - | c = 3 | + | |
| - | + | ||
| - | a == b # False | + | |
| - | + | ||
| - | a !=b # True | + | |
| - | + | ||
| - | a > c # False | + | |
| - | + | ||
| - | a >= c # True | + | |
| - | + | ||
| - | b < c # False | + | |
| - | + | ||
| - | a = " | + | |
| - | b = " | + | |
| - | + | ||
| - | a < b # True (por el orden lexicográfico) | + | |
| - | </ | + | |
| - | + | ||
| - | === Formato de cadena de caracteres === | + | |
| - | + | ||
| - | <code python> | + | |
| - | mi_variable # | + | |
| - | </ | + | |
| - | + | ||
| - | Queremos imprimir la variable '' | + | |
| - | + | ||
| - | Usando '' | + | |
| - | + | ||
| - | <code python> | + | |
| - | print(f" | + | |
| - | </ | + | |
| - | + | ||
| - | En el ejemplo anterior también estamos indicando el número de posiciones (al menos) y número de decimales. En ese caso, el número de posiciones (5) no parece muy útil salvo que se quiera dejar espacios delante del número. Si solo queremos trabajar con los decimales, omitimos la parte de las posiciones: | + | |
| - | + | ||
| - | <code python> | + | |
| - | print(f" | + | |
| - | </ | + | |
| - | + | ||
| - | Otra variante utilizando el método '' | + | |
| - | + | ||
| - | <code python> | + | |
| - | print(" | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round info 60%> | + | |
| - | Más información sobre formato de cadena de caracteres en la [[https:// | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | === Redondeado y truncado de decimales === | + | |
| - | + | ||
| - | Podríamos truncar (quitar) la parte decimal de un número convirtiéndolo a entero: | + | |
| - | + | ||
| - | <code python> | + | |
| - | a = 34.6666666666666664 | + | |
| - | + | ||
| - | int(a) # 34 | + | |
| - | </ | + | |
| - | + | ||
| - | Si queremos redondear decimales, es decir, el entero más próximo, podemos usar la función '' | + | |
| - | + | ||
| - | <code python> | + | |
| - | round(a, 2) # 34.67 | + | |
| - | + | ||
| - | round(a) # 35 | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Ejercicios de ejemplo ==== | + | |
| - | + | ||
| - | <code python> | + | |
| - | # Cálculo del área y perímetro de un rectángulo | + | |
| - | + | ||
| - | # Primer paso: toma de datos | + | |
| - | base = float(input(" | + | |
| - | altura = float(input(" | + | |
| - | + | ||
| - | # Segundo paso: procesamiento | + | |
| - | area = base * altura | + | |
| - | perimetro = 2 * (base + altura) | + | |
| - | + | ||
| - | # Tercer paso: mostrar resultados | + | |
| - | print(f" | + | |
| - | print(f" | + | |
| - | </ | + | |
| - | + | ||
| - | <code python> | + | |
| - | # Cálculo de una ecuación de segundo grado | + | |
| - | from math import sqrt # Cargamos el módulo ' | + | |
| - | # import math # importaríamos todo el módulo | + | |
| - | + | ||
| - | # Primer paso: toma de datos; coeficientes a, b y c | + | |
| - | print(" | + | |
| - | a = float(input(" | + | |
| - | b = float(input(" | + | |
| - | c = float(input(" | + | |
| - | + | ||
| - | # Segundo paso: cálculo de las raíces/ | + | |
| - | x1 = (-b + sqrt(b**2 - 4 * a * c)) / 2 * a | + | |
| - | + | ||
| - | x2 = (-b - sqrt(b**2 - 4 * a * c)) / 2 * a | + | |
| - | + | ||
| - | # Tercer paso: mostrar resultados | + | |
| - | print(f" | + | |
| - | </ | + | |
| + | Está todo centrado en Programación Orientada a Objetos. | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
informatica/programacion/python/cursos/introduccion_programacion_python.1682008982.txt.gz · Última modificación: por tempwin
