ManualFP CD
ManualFP CD
EL LENGUAJE PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
0
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Aprendizaje Esperado 1
¿Qué es Python?
1
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Origen de Python
Python fue creado por Guido van Rossum, un programador de
Holanda, a finales de los años 80. Él lo creó mientras trabajaba en el
Instituto Nacional de Investigación de Matemáticas y Ciencias de la
Computación en su país, con el objetivo de desarrollar un lenguaje
fácil de aprender y usar. Lo nombró como el grupo de comedia
británico Monty Python, al que era fanático. Desde su lanzamiento en
1991, Python se ha ganado una gran popularidad gracias a su
simplicidad y facilidad de lectura. Actualmente es uno de los lenguajes
de programación más utilizados en todo el mundo, y ha sido
desarrollado por una comunidad de programadores que lo continúa
optimizando.
Dato curioso
2
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
3
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
4
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Muchas empresas utilizan Python para trabajar los datos con los que
disponen, algunas de las más destacadas son:
5
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
6
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Versiones de python
Python 1.x: Fue la primera versión de Python, lanzada en 1991. Esta
versión ya no se utiliza y es muy poco probable que encuentres
código escrito en ella.
7
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
8
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
9
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
10
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
¿Qué es un IDE?
Un IDE (Integrated Development Environment) es un entorno de
desarrollo integrado que proporciona un conjunto completo de
11
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
● PyCharm
● Spyder
● Visual Studio Code
● Jupyter Notebook
12
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
13
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Estos son solo los pasos básicos para utilizar Jupyter Notebook. Hay
muchas más funcionalidades y características que puedes explorar
14
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Spyder
Spyder es un entorno de desarrollo integrado (IDE, por sus siglas en
inglés) para Python, diseñado especialmente para la ciencia de datos.
Proporciona una interfaz gráfica de usuario (GUI) para escribir, depurar
y ejecutar código Python de manera interactiva, lo que facilita el
análisis de datos y la experimentación con diferentes algoritmos.
15
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Una vez que esté abierto Spyder, verás una pantalla dividida en varias
secciones. En la sección de la izquierda, encontrarás un explorador de
archivos que te permite navegar por tus archivos y carpetas.
16
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Herramientas adicionales
Anaconda: es un entorno de trabajo que integra distribuciones de
Python y R que incluye un gestor de paquetes, un ambiente de
desarrollo integrado (IDE) y un conjunto de bibliotecas y herramientas
para análisis de datos, ciencia de datos e inteligencia artificial. Es una
herramienta muy útil para desarrolladores y científicos de datos, ya
que simplifica el proceso de instalación y configuración de Python y
de sus paquetes asociados, y permite crear y administrar fácilmente
múltiples entornos virtuales de Python. Además, Anaconda es
compatible con Windows, macOS y Linux, lo que hace que sea
fácilmente accesible para una amplia variedad de usuarios.
17
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Síntesis general
● Fácil de aprender
● Multipropósito
● Comunidad activa y abundante
¿Por qué aprender Python? documentación
● Demanda en el mercado laboral
● Flexibilidad y eficiencia
● NumPy
● Pandas
Herramientas de python ● Matplotlib
para análisis de datos ● SciPy
● Scikit-learn
● Editor de código
● Depurador
Características de los IDE
● Integración con sistemas de control
de versiones
18
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
● Autocompletado
● Resaltado de sintaxis
● Navegación por el código
● Integración con herramientas
externas
● Plantillas de código
● Integración con documentación
● Personalización
19
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Anexo Referencias
• Anaconda
Disponible en https://www.anaconda.com/
20
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EL LENGUAJE PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
21
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
0
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Aprendizaje Esperado 2
Codificar un programa utilizando las instrucciones básicas de control
de flujo de acuerdo a la sintaxis del lenguaje Python para construir un
algoritmo.
1
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
2
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Tipos de Datos
En Python, un tipo de dato es un concepto que se refiere a la
naturaleza de los datos que se utilizan en un programa. Cada valor en
Python tiene un tipo de dato, como números, cadenas de texto,
booleanos, listas, tuplas, diccionarios, conjuntos, entre otros.
● Listas: (list)
● Tuplas: (tuple)
● Diccionarios: (dict)
● Conjuntos: (set)
● Otros tipos de datos estructurados como bytes, bytearray y
range.
3
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
4
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
5
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
a. Números enteros
En Python, el tipo de dato para los números enteros es "int". Este tipo
de dato abarca todos los números enteros, pero su conjunto está
limitado por la capacidad de memoria disponible, ya que es infinito.
Python no impone un límite de representación para este tipo de dato.
Podemos crear un número "int" a partir de un literal que represente
un número entero, o bien, como resultado de una expresión o llamada
a una función.
Ejemplos
6
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
>>> print(b)
>>> diez = 10
>>> diez_binario = 0b1010
>>> print(diez)
10
>>> print(diez_binario)
10
>>> print(diez_octal)
10
>>> print(diez_hex)
10
7
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Cuando un número float vaya a ser usado por una persona, en lugar
de por el computador, puedes darle formato al número de la siguiente
manera:
>>> print(real)
3.3000000000000003 # Representación aproximada de 3.3
>>> print(f'{real:.2f}')
c. Números complejos
1.0
>>> complejo.imag
2.0
>>> 1 + 2.0
3.0
(7.7+3j)
10
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
● None
● False
● El valor cero de cualquier tipo numérico: 0, 0.0, 0j, …
● Secuencias y colecciones vacías (veremos estos tipos en otros
tutoriales): '', (), [], {}, set(), range(0)
11
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
>>> print(lista)
[1, 2, 3, 8, 9]
>>> print(tupla)
(1, 4, 8, 0, 5)
>>> print(conjunto)
12
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
{1, 3, 4}
>>> print(diccionario)
Operadores y expresiones
En Python, los operadores son símbolos o palabras reservadas que se
utilizan para realizar operaciones en valores y variables. Por ejemplo,
el operador "+" se utiliza para sumar dos valores, mientras que el
operador "=" se utiliza para asignar un valor a una variable.
13
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Operadores Aritméticos
14
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Ejemplo:
>>> x = 7
>>> y = 2
>>> x + y # Suma
9
>>> x - y # Resta
5
>>> x * y # Producto
14
>>> x / y # División
3.5
>>> x % y # Resto
1
>>> x // y # Cociente
3
>>> x ** y # Potencia
15
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
49
12 == 3
Devuelve True si ambos operandos devuelve
== son iguales False
16
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
12 != 3
Devuelve True si ambos operandos devuelve
!= no son iguales True
Operadores Lógicos
OPERAD
OR DESCRIPCIÓN USO
Operadores de Pertenencia
17
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
OPERADOR DESCRIPCIÓN
Ejemplo:
>>> 4 in lista
False
>>> 3 in lista
True
True
Operadores de Asignación
OPERADOR DESCRIPCIÓN
a = 5. El valor 5 es asignado a la
= variable a
+= a += 5 es equivalente a a = a + 5
-= a -= 5 es equivalente a a = a - 5
*= a *= 3 es equivalente a a = a * 3
/= a /= 3 es equivalente a a = a / 3
a %= 3 es equivalente a a = a %
%= 3
a **= 3 es equivalente a a = a **
**= 3
a //= 3 es equivalente a a = a //
//= 3
19
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
|= a |= 3 es equivalente a a = a | 3
^= a ^= 3 es equivalente a a = a ^ 3
Operadores de Identidad
OPERADO
R DESCRIPCIÓN
20
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Ejemplo:
>>> x = 4
>>> y = 2
>>> x is lista
False
>>> x is y
False
>>> x is 4
True
Expresiones
En Python, una expresión es una combinación de valores, variables y
operadores que producen un resultado. En otras palabras, una
expresión es cualquier parte de código que pueda ser evaluada y que
devuelva un valor.
21
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
>>> 4 * 3 - 2
10
>>> n / 7 + 5
Variables
En Python, una variable es un objeto que almacena un valor, el cual
puede ser de diferentes tipos de datos, como números, texto, listas,
entre otros. La variable se utiliza para hacer referencia al valor que
contiene, lo que permite al programador utilizar y manipular dicha
información en su código.
22
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
>>> n = 17
>>> pi = 3.14159
>>> 17 = n
n 17
pi 3.1415
>> print(mensaje)
>>> print(n)
17
>>> print(pi)
3.14159
>>> type(mensaje)
<type 'str'>
>>> type(n)
<type 'int'>
>>> type(pi)
<type 'float'>
>>> dia
'Jueves'
>>> dia
'Viernes'
>>> dia = 21
>>> dia
21
26
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Hay algunas situaciones en las que los nombres que comienzan con
un guión tienen un significado especial, por lo que una regla segura
para los principiantes es empezar todos los nombres con una letra que
no sea un guión.
Conversión implícita
a = 1 # <class 'int'>
b = 2.3 # <class 'float'>
a=a+b
print(a) # 3.3
28
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
a=1
b = "2.3"
c=a+b
# TypeError: unsupported operand type(s) for +: 'int' and 'str'
Conversión explícita
a = 3.5
29
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
a = int(a)
print(a)
# Salida: 3
a = 3.5
print(type(a)) # <class 'float'>
a = str(a)
print(type(a)) # <class 'str'>
a = "35.5"
print(float(a))
# Salida: 35.5
a = "35,5"
print(float(a))
30
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
a = "Python"
print(float(a))
a = "3"
a = int(a)
a = "Python"
a = int(a)
31
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
a = 10
a = str(a)
Convertir a list
a = {1, 2, 3}
b = list(a)
Convertir a set
a = ["Python", "Mola"]
b = set(a)
32
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
33
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Entrada Estándar
34
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
print("\nSimulando un chat")
print("=====================")
Salida Estándar
Sentencia print
Sentencia print evalúa cada expresión, devuelve y escribe el objeto
resultado a la salida estándar de la consola de comando. Si un objeto
no es un tipo cadena de caracteres, ese es primeramente convertido a
un tipo cadena de caracteres usando las reglas para las conversiones
del tipo. La cadena de caracteres (resultado u original) es entonces
escrito.
Control de Flujo
Un programa en Python consiste en una serie de instrucciones que son
analizadas y ejecutadas por el intérprete, en el orden en que están
escritas en el código fuente. Una vez que todas las instrucciones se
han ejecutado, el programa termina.
Condicionales
Las estructuras de control condicionales en programación nos
permiten evaluar si una o varias condiciones se cumplen para decidir
qué acción ejecutar. La evaluación de condiciones solo arroja dos
resultados: verdadero o falso (True o False).
37
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
If – elif - else
if semaforo == verde:
print("Cruzar la calle")
else:
print("Esperar")
Si gasto hasta $100, pago con dinero en efectivo. Sino, si gasto más
de $100 pero menos de $300, pago con tarjeta de débito. Sino, pago
con tarjeta de crédito.
importe_a_pagar = total_compra
38
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
39
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Bucle While
anio = 2001
while anio <= 2012:
print("Informes del Año", str(anio))
anio += 1
40
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
while True:
nombre = input("Indique su nombre: ")
if nombre: break
Bucle For
Por cada año en el rango 2001 a 2013, imprimir la frase “Informes del
Año año”
42
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
43
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Programas en Python
Python es un lenguaje de programación que se utiliza para escribir
programas en un ordenador. Un programa de Python es un conjunto
de instrucciones que se utilizan para realizar una tarea específica y se
escriben en un archivo de texto plano con la extensión ".py". Los
programas de Python pueden variar en tamaño, desde pequeños
scripts para realizar tareas simples hasta grandes aplicaciones
complejas. A diferencia de otros lenguajes de programación, Python
está diseñado para ser fácil de leer y escribir, lo que lo hace ideal para
principiantes en programación. Esto se debe en gran parte a su
sintaxis simple y clara, y a su uso de sangrías en lugar de corchetes
para definir bloques de código.
Funciones
En Python, las funciones son bloques de código reutilizables que
realizan tareas específicas y pueden aceptar argumentos y devolver
valores.
44
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Parámetros.
Un parámetro de una función es una variable que se utiliza para recibir
valores o argumentos de entrada cuando se invoca la función. Los
parámetros se definen en la definición de la función y pueden ser
opcionales o requeridos.
saludar("Juan")
46
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
saludar("Juan", 25)
Función max()
47
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Función min()
48
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Ejemplo:
Función divmod ()
Ejemplo:
49
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Función len()
Ejemplo:
50
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Función Ord
Ejemplos:
Función chr
Ejemplo:
Hay que tener en cuenta que, si el valor entero pasado a chr() está
fuera del rango, entonces se generará un ValueError.
51
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Función input
inp = input()
promptwithmessage = input(’‘)
52
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Sentencia return
Anteriormente se indicaba que cuando acaba la última instrucción de
una función, el flujo del programa continúa por la instrucción que
sigue a la llamada de dicha función. Hay una excepción: usar la
sentencia return. return hace que termine la ejecución de la función
cuando aparece y el programa continúa por su flujo normal.
53
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
54
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
55
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Ejemplo
La declaración import
56
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
La declaración from
Por ejemplo, para importar la función fibonacci del módulo fib, use la
siguiente declaración:
57
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
58
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Búsqueda de módulos
Cuando se importa un módulo en Python, el intérprete busca en una
serie de lugares predefinidos para encontrarlo. El proceso de
búsqueda se realiza en los siguientes pasos:
59
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Paquetes de Python.
Un paquete es una estructura de directorio de archivos jerárquica que
define un único entorno de aplicación de Python que consta de
módulos y sub paquetes y subpaquetes, y así sucesivamente.
Phone/__init__.py
60
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
tipo range que puede ser utilizado para iterar sobre la secuencia de
números en ciclos "for" o en estructuras de control de flujo "if".
Además, a partir de Python 3, el tipo range es más eficiente en
términos de memoria que la generación de una lista completa de
números.
62
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Veamos una comparación de una lista que almacena los números del
0 al 100.000 y un rango del 0 al 100.00
63
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Los módulos
Cuando creas programas en Python, los archivos generados suelen
tener la extensión particular de Python, ya sabes, .py. Los módulos en
Python se crean de la misma manera. Es decir, son archivos de código
con extensión .py, y ubicados en un directorio donde Python sea capaz
de encontrarlos (es decir, el directorio de trabajo actual o listados en
sys.path).
64
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Creación de módulos
Importar un módulos
66
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
nombre del módulo (es decir, math)? Sí, se puede hacer usando la
siguiente sintaxis para la importación:
67
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Expresiones Lambda
Una función lambda es una función anónima1 en Python que se utiliza
para crear pequeñas funciones de una sola expresión. A diferencia de
las funciones convencionales definidas por la palabra reservada "def",
las funciones lambda se definen en una sola línea de código sin
necesidad de un nombre explícito. En su forma más básica, la sintaxis
de una función lambda se compone de la palabra reservada "lambda",
seguida por una lista de parámetros separados por comas, luego un
signo de dos puntos y finalmente la expresión que devuelve el
resultado de la función.
1 En Python, una función anónima es una función que no está definida con un nombre explícito
utilizando la palabra reservada def. En su lugar, se utiliza la palabra reservada lambda para definir una
función anónima.
68
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Sintaxis básica
69
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Aplicaciones de Lambdas
70
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Anexo Referencias
• "Python for Everybody" de Charles Severance.
Disponible en https://www.py4e.com/book
• PEP-8 de Python
https://recursospython.com/pep8es.pdf
• Operadores de Python
https://www.codigofuente.org/operadores-en-python/
71
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
INSTRUCCIONES BÁSICAS DEL LENGUAJE PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
72
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
0
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Aprendizaje esperado 3
Estructura de Datos
1
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
2
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Por otro lado, los métodos de las estructuras de datos se utilizan para
realizar operaciones específicas en los datos almacenados en esas
estructuras. Cada estructura de datos tiene sus propios métodos
específicos. Por ejemplo, los métodos de una lista pueden agregar
elementos al final, eliminar elementos, ordenar la lista, buscar
elementos y mucho más. Los métodos de un diccionario pueden
agregar y eliminar pares clave-valor, buscar claves y valores, y mucho
más.
3
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Métodos de String
string.replace(string_viejo, string_nuevo)
Ejemplo:
string.partition(char)
Ejemplo:
string.title()
Ejemplo:
4
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
string.swapcase()
Ejemplo:
strig.startswith (prefijo)
Ejemplo:
string.split(sep)
Ejemplo:
5
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
string.zfill(ancho)
Ejemplo:
Formateo de strings
Construir una única cadena de caracteres a partir de otras más
pequeñas es algo que estarás haciendo prácticamente siempre al
momento de escribir código, sea en Python o en cualquier otro
lenguaje. Por esta razón, tener un buen dominio de las herramientas
para llevarlo a cabo es fundamental para diseñar un mejor código: más
eficiente, más legible
Método format.
6
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Incluso puedes colocar las llaves tantas veces como quieras sin
necesidad de repetir los argumentos, lo que hubiese sido una
limitación en el sistema anterior.
7
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
8
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
9
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
El resultado es el siguiente
f-strings
10
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
11
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Template
Esta es una forma menos potente pero que te puede resolver
problemas concretos de forma sencilla. En este caso, lo que se usa es
el símbolo del dólar, $, para poder usar variables dentro del texto.
12
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Objeto srt
Además de poder formatear texto y números de muchas formas, el
propio objeto str dispone de muchos métodos que pueden resultar
muy útiles para que el texto se muestre como deseamos.
Por ejemplo, imagina que llega una información que no puede tener
espacios de ningún tipo (espacios, saltos de línea,…). Podemos usar el
método replace para eliminar estos espacios:
13
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
14
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
También nos podría interesar que, antes de unir el texto, cada palabra
empezase por mayúscula para así, después de quitar los espacios,
poder leer el resultado de forma más sencilla. Para ello podríamos
usar el método title:
15
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Resultado:
16
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Lo anterior dice que las ‘,’ las identifique como ‘_’, los ‘.’ como ‘_’, los
‘?’ como ‘_’,…, a la hora de hacer la transformación. La transformación
la hago con translate usando ese mapping:
Vemos que las comas y puntos las ha sustituido por guiones bajos.
17
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
18
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
19
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Fecha y hora
Python viene con una variedad de objetos útiles que se pueden usar
de inmediato. Los objetos de fecha son ejemplos de tales objetos. Los
tipos de fecha son difíciles de manipular desde cero, debido a la
complejidad de fechas y horas. Sin embargo, los objetos de fecha de
Python facilitan enormemente la conversión de fechas en los formatos
de cadena deseables.
20
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Salida:
Salida:
21
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Salida:
22
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Salida
los ctime El método usa un formato de fecha y hora más largo que los
ejemplos que vimos antes. Este método se utiliza principalmente para
convertir el tiempo Unix (el número de segundos desde el 1 de enero
de 1970) a un formato de cadena.
Salida
23
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Conversiones
Fechas en cadenas con strtime
Para lograr esto, usaremos el strftime método. Este método nos ayuda
a convertir objetos de fecha en cadenas legibles. Toma dos
parámetros, como se muestra en la siguiente sintaxis:
Salida
24
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
● %b: Devuelve los primeros tres caracteres del nombre del mes.
En nuestro ejemplo, devolvió “Sep”
Salida
25
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
26
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Salida
Puede ver que la barra diagonal “/” se ha utilizado para separar los
distintos elementos de la cadena. Esto le dice al strptime método en
qué formato está nuestra fecha, que en nuestro caso “/” se usa como
separador.
Pero, ¿y si el día / mes / año estuviera separado por un “-“? Así es cómo
manejarías eso:
Salida
27
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Expresiones Regulares
Las expresiones regulares son expresiones comodín que definen
patrones de caracteres a emparejar y extraer de una cadena de texto.
Para entenderlo con un ejemplo, definamos «Python» como nuestra
expresión regular y «Programa en Python» como nuestra cadena de
texto. En este caso, nuestra cadena de texto contiene una instancia de
nuestra expresión regular. Si bien este ejemplo ilustrativo puede
resultar sencillo, en este post veremos como las expresiones regulares
se ayudan de caracteres especiales para poder emparejar cualquier
patrón de texto, pudiendo llegar a considerarse un lenguaje en sí
mismas. También cabe mencionar que las expresiones regulares no
son una característica exclusiva de Python, ya que también están
presentes en otros lenguajes de programación como Java, JavaScript,
Ruby, entre otros.
28
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Secuencia de escape:
\v Tabulación vertical.
29
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
30
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Los símbolos de acento circunflejo (^) y dólar ($) indican que nuestro
patrón de búsqueda debe contener respectivamente el inicio o fin de
una línea en una cadena de texto. En el siguiente ejemplo, la
expresión regular ‘^Python’ busca ocurrencias de la cadena Python al
inicio de la línea, y por eso el método findall devuelve sólo una
ocurrencia a pesar de que la frase contenga dos veces la cadena
‘Python’.
import re
frase = "Python no sólo es un lenguaje de programación, Python es
mi lenguaje de programación favorito"
patron = '^Python'
re.findall(patron, frase)
['Python']
frase = "Me gusta aprender Python y programar en P^ython"
patron = 'Python$'
re.findall(patron, frase)
['Python']
31
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
import re
frase = "Cython no es ningún lenguaje de programación y Nython
tampoco pero Python si"
patron = '^.ython'
palabras = re.findall(patron, frase)
['Cython']
patron = '\\s.ython'
palabras = re.findall(patron, frase)
['Nython','Python']
Caracteres de repetición: *, +, ?
32
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
33
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Listas
Las listas en Python son un tipo contenedor, compuesto, que se usan
para almacenar conjuntos de elementos relacionados del mismo tipo
o de tipos distintos.
Puede ser:
El tipo de dato lista tiene algunos métodos más. Aquí están todos los
métodos de los objetos lista:
List.append(x)
34
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
list.extend(iterable)
list.insert(i, x)
list.remove(x)
list.pop([i])
list.clear()
35
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Retorna el índice basado en cero del primer elemento cuyo valor sea
igual a x. Lanza una excepción ValueError si no existe tal elemento.
list.count(x)
list.reverse()
list.copy()
36
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Otra cosa que puedes observar es que no todos los datos se pueden
ordenar o comparar. Por ejemplo, [None, 'hello', 10] no se puede
ordenar ya que los enteros no se pueden comparar con strings
y None no se puede comparar con los otros tipos. También hay
algunos tipos que no tienen una relación de orden definida. Por
ejemplo, 3+4j < 5+7j no es una comparación válida.
Listas y String
A partir de una cadena de caracteres, podemos obtener una lista con
sus componentes usando la función split.
37
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
En este caso split elimina todos los blancos de más, y devuelve sólo
las palabras que conforman la cadena.
38
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Los métodos de lista hacen que resulte muy fácil usar una lista como
una pila, donde el último elemento añadido es el primer elemento
retirado («último en entrar, primero en salir»). Para agregar un
elemento a la cima de la pila, utiliza append(). Para retirar un
elemento de la cima de la pila, utiliza pop() sin un índice explícito. Por
ejemplo:
39
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
También es posible usar una lista como una cola, donde el primer
elemento añadido es el primer elemento retirado («primero en entrar,
primero en salir»); sin embargo, las listas no son eficientes para este
propósito. Agregar y sacar del final de la lista es rápido, pero insertar
o sacar del comienzo de una lista es lento (porque todos los otros
elementos tienen que ser desplazados por uno).
Comprensión de listas
40
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Nota que esto crea (o sobreescribe) una variable llamada x que sigue
existiendo luego de que el bucle haya terminado. Podemos calcular la
lista de cuadrados sin ningún efecto secundario haciendo:
o, un equivalente:
y es equivalente a:
41
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
42
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
43
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Búsqueda de elementos
El algoritmo de búsqueda lineal es un algoritmo simple, donde cada
elemento de la lista (empezando por el primer elemento) es
investigado hasta que es encontrado el elemento requerido, o se ha
alcanzado el final de la lista.
44
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Ordenamiento
sort()
sorted()
Ejemplo:
45
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
46
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Matrices
Cuando se manejan grandes cantidades de datos, puede ser más
efectivo utilizar soluciones que no impliquen la creación de
numerosas variables individuales. Por ejemplo, en lugar de utilizar
100 variables distintas para almacenar 100 números, resulta más
eficiente almacenar los datos juntos formando una estructura
conocida como "matriz" o "array" en inglés.
47
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Nota: No podemos crear el array vacío con "datos = []" y luego dar
valor a un elemento con "datos[0]=5", porque obtendremos un
mensaje de error que nos avisa de que nos hemos salido del rango de
los datos. Deberemos reservar todas las o bien usar ".append".
48
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Una forma más avanzada de crear un (falso) array vacío, para luego
irlo rellenando, es usar unas llaves vacías, como en "datos = { }",
aunque esto tiene un significado ligeramente distinto.
49
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Tuplas
Se ha visto que las listas y cadenas tienen propiedades en común,
como el indexado y las operaciones de seccionado. Estas son dos
ejemplos de datos de tipo secuencia. Como Python es un lenguaje en
evolución, otros datos de tipo secuencia pueden agregarse. Existe otro
dato de tipo secuencia estándar: la tupla.
50
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
51
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Por ejemplo:
52
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Diccionario
Un diccionario es una estructura de datos y un tipo de dato en Python
con características especiales que nos permite almacenar cualquier
tipo de valor como enteros, cadenas, listas e incluso otras funciones.
Estos diccionarios nos permiten además identificar cada elemento por
una clave (Key).
53
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
54
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
dict()
zip()
items()
55
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
keys()
values()
clear()
Elimina todos los ítems del diccionario dejándolo vacío
56
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
copy()
fromkeys()
get()
57
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
pop()
setdefault()
58
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
update()
Iteración de diccionarios
Cuando iteramos sobre diccionarios, se pueden obtener al mismo
tiempo la clave y su valor correspondiente usando el método items().
59
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Para iterar sobre dos o más secuencias al mismo tiempo, los valores
pueden emparejarse con la función zip().
60
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
A veces uno intenta cambiar una lista mientras la está iterando; sin
embargo, a menudo es más simple y seguro crear una nueva lista:
61
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Anexo Referencias
• "Python for Everybody" de Charles Severance.
Disponible en https://www.py4e.com/book
• Métodos String
https://www.freecodecamp.org/espanol/news/metodos-de-
string-de-python-explicados-con-ejemplo/
• PEP 8
https://www.recursospython.com/pep8es.pdf
• Fecha y Hora}
https://codigofacilito.com/articulos/fechas-python
• Listas y cadenas
https://uniwebsidad.com/libros/algoritmos-python/capitulo-
7/listas-y-cadenas
https://j2logo.com/python/tutorial/tipo-list-python/
• Matrices
https://www.cartagena99.com/recursos/alumnos/apuntes/intro
duccion%20matrices.pdf
• Métodos de búsqueda
https://uniwebsidad.com/libros/python/capitulo-7/metodos-
de-busqueda-2
62
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
• Expresiones Regulares
https://relopezbriega.github.io/blog/2015/07/19/expresiones-
regulares-con-python/
• Pilas y Colas
http://conocepython.blogspot.com/p/pilas-y-colas.html
63
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ESTRUCTURAS DE DATOS EN PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
64
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
0
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Aprendizaje esperado 4
Construir un programa en Python utilizando el paradigma de
Orientación a Objetos para resolver un problema
1
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Objetos
En Python, los objetos son instancias de una clase, que es una plantilla
que define un conjunto de atributos y métodos comunes a todos los
objetos creados a partir de esa clase.
2
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
3
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Clases (class)
En Python, una clase es una plantilla o modelo que define un conjunto
de atributos y métodos que describen las características y el
comportamiento de un conjunto de objetos relacionados.
Constructores de clases
Para declarar una clase se utiliza la palabra clave class seguida del
nombre de la clase y dos puntos, de acuerdo a la siguiente sintaxis:
class <nombre-clase>:
<atributos>
<métodos>
4
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Los atributos se definen igual que las variables mientras que los
métodos se definen igual que las funciones. Tanto unos como otros
tienen que estar indentados por 4 espacios en el cuerpo de la clase.
Clases primitivas
5
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Instanciación de clases
6
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Definición de métodos
Los métodos de una clase son las funciones que definen el
comportamiento de los objetos de esa clase.
7
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
8
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
El método __str__
9
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Herencia
Una de las características más potentes de la programación orientada
a objetos es la herencia, que permite definir una especialización de
una clase añadiendo nuevos atributos o métodos. La nueva clase se
conoce como clase hija y hereda los atributos y métodos de la clase
original que se conoce como clase madre.
10
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
propaga a las clases hijas. Sin la herencia, este método tendría que
replicarse en cada una de las clases hijas y cada vez que se hiciese un
cambio en él, habría que replicarlo también en las clases hijas.
Por otro lado, en la herencia múltiple, una clase hija hereda atributos
y métodos de dos o más clases madres. Esto significa que la clase hija
tiene acceso a todos los atributos y métodos de las clases madres. Al
igual que en la herencia simple, la clase hija puede definir nuevos
atributos y métodos que sean propios de ella.
11
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Jerarquía de clases
A partir de una clase derivada mediante herencia se pueden crear
nuevas clases hijas aplicando de nuevo la herencia. Ello da lugar a una
jerarquía de clases que puede representarse como un árbol donde
cada clase hija se representa como una rama que sale de la clase
madre.
12
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Sobrecarga y polimorfismo
13
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
class Tarjeta:
def __init__(self, id, cantidad=0):
self.id = id
self.saldo = cantidad
return
def mostrar_saldo(self):
print('El saldo es {:.2f}€.'.format(self.saldo))
return
class Tarjeta_Oro(Tarjeta):
def __init__(self, id, descuento, cantidad=0):
self.id = id
self.descuento = descuento
self.saldo = cantidad
return
t1 = Tarjeta('1111111111', 1000)
t2 = Tarjeta_Oro('2222222222', 1, 1000)
t1.pagar(100)
t1.mostrar_saldo()
t2.pagar(100)
14
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
t2.mostrar_saldo()
Luego se crean dos objetos, t1 y t2, que son instancias de las clases
Tarjeta y Tarjeta_Oro, respectivamente. Se realiza una compra de 100
con cada tarjeta, y se muestra el saldo actualizado de cada una con el
método mostrar_saldo. La salida indica que t1 ha disminuido su saldo
en 100, mientras que t2 ha disminuido en 99 debido al descuento
aplicado.
15
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
16
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
17
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Anexo Referencias
• "Python for Everybody" de Charles Severance.
Disponible en https://www.py4e.com/book
18
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
ORIENTACIÓN A OBJETO EN PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
19
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
Aprendizaje Esperado 1
0
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
Aprendizaje Esperado 5
Excepciones
En Python, las excepciones son una forma de manejar errores y
situaciones inesperadas que pueden surgir durante la ejecución de un
programa. Cuando se produce una excepción, el programa se
interrumpe y se muestra un mensaje de error indicando el tipo de
excepción y la ubicación en el código donde se produjo.
1
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
try:
# código que puede producir una excepción o error
except Exception:
# código que se ejecuta si se produce una excepción o error
finally:
# código que se ejecuta siempre, independientemente de si se
produjo una excepción o no
2
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
except ValueError:
# código que se ejecuta si se produce una excepción de tipo
ValueError
finally:
# código que se ejecuta siempre, independientemente de si se
produjo una excepción o no
El bloque finally es el último bloque que se ejecuta en la estructura
try-except-finally. Este bloque se ejecuta siempre,
independientemente de si se produjo una excepción o no en el bloque
try. La sintaxis del bloque finally es la siguiente:
try:
# código que puede producir una excepción o error
except Exception:
# código que se ejecuta si se produce una excepción o error
finally:
# código que se ejecuta siempre, independientemente de si se
produjo una excepción o no
try:
x=1/0
except ZeroDivisionError:
print("No se puede dividir entre cero")
finally:
print("Este mensaje se imprime siempre")
3
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
Procesamiento y propagación de
excepciones
Después de aprender cómo atrapar excepciones en Python, es
importante saber qué hacer cuando se captura una excepción. En
primer lugar, se pueden ejecutar lógicas específicas para el caso, como
cerrar un archivo o procesar la excepción de una manera alternativa.
Pero, además, existen opciones más genéricas, como dejar constancia
de la excepción, propagarla o hacer ambas cosas.
4
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
Por otro lado, se puede decidir lanzar una excepción distinta y más
significativa para quien invocó a la función actual. Para ello, se utiliza
también la sentencia raise, indicando el tipo de excepción que se
desea lanzar y pasando los parámetros adicionales necesarios.
5
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
6
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
try:
# código que puede lanzar una excepción
except Exception, ex:
# procesamiento de la excepción cuya información
# es accesible a través del identificador ex
Nota
7
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
8
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
Anexo Referencias
• Errores y excepciones
https://docs.python.org/es/3/tutorial/errors.html
9
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
EXCEPCIONES EN PYTHON
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
10
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Módulo
FUNDAMENTOS DE PROGRAMACIÓN EN
PYTHON
1
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Aprendizaje esperado 6
Gestionar el código fuente utilizando GitHub para mantener un
repositorio de código remoto seguro y permitir trabajo concurrente.
Fundamentos de Git
Git es un sistema de control de versiones distribuido que se utiliza
principalmente en la gestión de proyectos de software. Fue creado en
el año 2005 por Linus Torvalds, el creador del kernel de Linux, y se ha
convertido en uno de los sistemas de control de versiones más
populares y utilizados en la actualidad.
programador utiliza para crear un programa o una aplicación de software. Es el nivel más bajo de un
programa y contiene las instrucciones que la computadora puede entender y ejecutar.
2
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
3
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
4
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
5
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
6
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
7
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
8
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Instalación de Git
En Windows
En Mac
9
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Configuración de Git
Configurar identidad
10
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Configurar editor
Configurar credenciales
Comprobar configuración
Comandos de Git
11
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Creación de un repositorio
12
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
$ cd /ruta/a/la/carpeta/deseada
$ git init
Initialized empty Git repository in /ruta/a/la/carpeta/deseada/.git/
13
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Ramificación en Git
14
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Para crear una nueva rama en Git, puedes usar el comando git branch
seguido del nombre de la nueva rama. Por ejemplo, si deseas crear
una nueva rama llamada "nueva-rama", debes ejecutar el siguiente
comando en la terminal:
15
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Para eliminar una rama en Git, debes usar el comando git branch
seguido del parámetro -d y el nombre de la rama que deseas eliminar.
Por ejemplo, si deseas eliminar la rama "nueva-rama", debes ejecutar
el siguiente comando en la terminal:
16
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
17
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
4. Agregar los cambios: Una vez que haya resuelto los conflictos
en el archivo, use el comando git add para agregar los cambios
al área de ensayo.
5. Completar la fusión: Una vez que haya resuelto todos los
conflictos en los archivos, use el comando git commit para
completar la fusión.
18
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
git pull y git push son dos comandos muy importantes en Git que se
utilizan para sincronizar los cambios entre un repositorio local y un
repositorio remoto.
git pull se utiliza para actualizar el repositorio local con los cambios
más recientes del repositorio remoto. Este comando combina dos
comandos en uno: git fetch y git merge. Primero, git fetch descarga
los cambios del repositorio remoto, pero no los aplica en el repositorio
local. Luego, git merge fusiona los cambios descargados en el
repositorio local.
git push, por otro lado, se utiliza para enviar los cambios locales al
repositorio remoto. Si has realizado cambios en tu repositorio local,
debes utilizar git push para enviar esos cambios al repositorio remoto.
Git Status
19
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Git Fetch
"git fetch" es un comando de Git que permite descargar los últimos
cambios de un repositorio remoto, pero sin integrarlos con el
repositorio local. En otras palabras, el comando "git fetch" actualiza el
estado del repositorio local para que coincida con el estado del
repositorio remoto.
Ignorar archivos
En Git, es posible ignorar archivos o directorios específicos para que
no se incluyan en el repositorio o en las confirmaciones (commits) de
Git.
20
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
archivo .gitignore
archivo.txt
*.log
datos/
Stash y Rebase son dos comandos útiles de Git que se utilizan para
administrar los cambios en un repositorio.
21
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Por otro lado, el comando Rebase se utiliza para combinar los cambios
de una rama secundaria en la rama principal del repositorio de forma
más limpia y organizada. En lugar de crear una fusión de las ramas,
que puede generar una gran cantidad de conflictos y problemas de
compatibilidad, el comando Rebase toma los cambios de la rama
secundaria y los "reproduce" en la rama principal, uno por uno y en
orden cronológico. Esto puede dar como resultado un historial de
cambios más limpio y organizado, y reducir la cantidad de conflictos
que deben resolverse manualmente.
22
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
git init
23
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
24
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Git Hub
25
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Pull Request
26
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
27
MÓDULO: FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON
FUNDAMENTOS DE GIT
Referencias
• Sitio Oficial
https://github.com/
• Comandos
https://www.freecodecamp.org/news/10-important-git-
commands-that-every-developer-should-know/
• Git en el Servidor
https://git-scm.com/book/es/v2/Git-en-el-Servidor-Los-
Protocolos
28