Curso de Python
Curso de Python
David Aroesti
¿Qué lograrás con este curso?
Todos los programas se componen de “partes” básicas que se utilizan para crear
“partes” más complejas.
● PEMDAS
○ Paréntesis
○ Exponentes
○ Multiplicación / División
○ Adición / Sustracción
Valores y Tipos
● Los valores son uno de los componentes básicos con los que trabaja un
programa, como una letra o un número.
● Todos los valores tienen un tipo.
● Los tipos básicos son:
○ Integer <int>
○ Float <float>
○ String <str>
○ Boolean <bool>
Variables y expresiones
suma(2, 3) # El resultado es 5
Limitantes
● Evaluación de and
A B Resultado
● Evaluación de and
A B Resultado
● Evaluación de not
A Resultado
True False
False True
Evaluación en Python
● False
○ False
○ 2>5
○ 0
○ []
○ {}
○ ‘’
● True
○ True
○ 5>2
○ 1
○ [1] [1,2]
○ {‘a’: ‘b’}
○ ‘Hola’
Declaraciones condicionales
if x > 5:
if x < 5:
If x > 5:
else:
If nombre == ‘erika’::
print(‘Hola, Erika’)
print(‘Hola, David’)
else:
print(‘Hola, amigo’)
Declaraciones condicionales
If genero == ‘masculino’::
print(‘Hola, señor’)
else:
print(‘Hola niño’)
else:
print(‘Hola, señora’)
else:
print(‘Hola niña’)
Recursión
def factorial(num):
if num == 0:
return 1
else:
0 1 2 3 4 5
p l a t z i
mi_string = ‘platzi’
mi_string[2] # a
Longitud de una string
mi_string = ‘david’
len(mi_string) # 5
longitud = len(mi_string)
mi_string[longitud]
# Error común
Métodos de strings
● Cuando tienes una string, existen muchos métodos que hacen fácil trabajar
con ellas.
○ upper
○ isupper
○ lower
○ islower
○ find
○ isdigit
○ endswith
○ startswith
○ split
○ join
Slices (rebanadas)
string = ‘platzi’
string[1:] # ‘latzi’
string[1:3] # ‘la’
string[1:6:2] # ‘lti’
string[::-1] # ‘iztalp’
Las strings son inmutables
mi_string = ‘tomas’
# ‘lomas’
Comparación de strings
for i in range(3):
print(‘hola, mundo’)
# ‘hola, mundo’
# ‘hola, mundo’
# ‘hola, mundo’
for loop
string = ‘david’
print(letter)
for / else
i = 10
while i > 0:
print(‘ando en un loop’)
i -= 1
while / else
supermercado[0] = ‘salsa’
Acceso a elementos
0 1 2
mi_lista[0] # juan
mi_lista[1] # pedro
mi_lista[-1] # pepe
mi_lista[5] # IndexError
Operaciones de lista
lista_a = [1, 2, 3]
lista_b = [4]
lista_b * 3 # [4, 4, 4]
List slices
lista = [1, 2, 3, 4, 5, 6]
lista[1:] # [2, 3, 4, 5, 6]
lista[1:3] # [2, 3]
lista[1:6:2] # [2, 4, 6]
lista[::-1] # [6, 5, 4, 3, 2, 1]
Modificación de lista
mi_lista[0] = ‘laura’
mi_lista.append(‘estela’)
nombre = mi_lista.pop()
nombre == ‘estela’
# True
Modificación de lista
mi_otra_lista = [4, 3, 7, 1]
mi_otra_lista.sort()
# [1, 3, 4, 7]
mi_lista.extend(mi_otra_lista)
del mi_otra_lista[0]
# [3, 7, 1]
Listas y strings
un_string = ‘cama’
una_lista = list(un_string)
print(hamburgueseria)
...
Conjuntos (sets)
conjunto = set()
conjunto.add(2)
# {2}
conjunto.add(2)
conjunto.add(3)
# {2, 3}
2 in conjunto
# True
Métodos del objeto set
● X in S
● X not in S
● s.union(t)
● s.intersection(t)
● s.difference(t)
● s.issubset(t)
● s.issuperset(t)
Diccionarios
mi_dict = {}
mi_dict[‘llave’] = ‘valor’
...
Obtener valores
diccionario[‘llave’]
# valor
diccionario.get(‘llave’, ‘default’)
# si no, default
List comprehensions y Dictionary comprehensions
● Python permite crear e inicializar listas y diccionarios con una sintaxis más
natural.
● Convierte una secuencia en otra.
● Las tuplas son una secuencia de valores indexada por enteros (integers).
● Similares a las listas, con la gran diferencia de que son inmutables.
● Las tuplas se crean separando los valores con comas.
○ Es práctica común encerrar los valores en paréntesis
● Se pueden utilizar para devolver más de un valor en una función o crear
estructuras de datos ligeras.
mi_tupla = 1, 2, 3, 4
mi_tupla = (1, 2, 3, 4)
Operadores en tuplas
● Al igual que los strings, si se quiere modificar una tupla, es necesario crear
una nueva.
mi_tupla = (1,)
# (1, 2, 3, 4)
Manejo de errores
try:
int(mi_string)
except ValueError:
… # maneja el error
Finally:
class ErrorDePosicion(Exception):
pass
if not posicion:
raise ErrorDePosicion(‘mensaje’)
Manejo de archivos
for line in f:
print(line)
Escritura de archivos
for i in range(5):
print(‘Hello’)
CSV
● Es una buena práctica crear un ambiente virtual por cada proyecto de Python
en el que se trabaje.
● Esto evita conflictos de paquetes en el intérprete principal.
● pip install virtualenv
● virtualenv venv
● source venv/bin/activate
● deactivate
Pruebas automatizadas
● print
● strings
● Integer division
● raising exceptions
● Input vs raw_input
Aplicaciones de Python en el mundo real
● Desarrollo web
● Ciencia de datos
● Machine learning e Inteligencia artificial
● Programas de escritorio
● Línea de comando
● Internet de las cosas
● Web scraping y bots
● Criptografía
● Finanzas
● Biología computacional
● Ciencias exactas y academia
Conclusión y despedida