Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Condicionales y Bucles

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 38

Líderes del crecimiento del desarrollador en LATAM

/ Silabuz

www.silabuz.com
Unidad 1

Introducción a Python y fundamentos de


programación
Unidad 1: Introducción a Python y fundamentos de Bootcamp Desarrollador Web
programación BackEnd
Duración: 2 semanas, 36 horas.

Semana 1: (17 Oct - 23 Oct) Teoría y práctica


Introducción e instalación (18 horas)
Sintaxis
Estructuras de control

Midpoint Teoría y práctica


Dom. 23 de Octubre 8am (60 minutos)

Semana 2 (24 Oct - 30 Oct) Teoría y práctica


Colecciones (18 horas)
Estructurando información
Funciones
Paquetes y bibliotecas

Examen final Teoría y práctica


Dom. 30 de Octubre 8am (60 minutos)

www.silabuz.com - hola@silabuz.com
¿QUÉ APRENDIMOS
EN LA SESIÓN ANTERIOR?

● Control de flujo
○ Condicionales
○ Bucles
● Break continue pass
TEMAS DE LA CLASE

● Comprehension
● Funciones
Comprehension
Comprehension List
Un tipo de idiomatic expressions

Nos permiten crear listas de elementos en una sola línea de


código
Creación de lista

cubos = [] cubos = [i**3 for i in range(1,4)]

for i in range(1, 4): print(cubos)


cubos.append(i**3)

print(cubos)
Alcance de Comprehension
Se puede usar no sólo en listas

conjunto_cuadrados = {i**2 for i in range(1, 8)}


Crear un conjunto con los números del 1
al 7 al cuadrado print(cuadrados)
Alcance de Comprehension
Se puede usar no sólo en listas

dict_numbers = {i: i**3 for i in range(1, 6)}


Crear un diccionario de números con
llaves los números del 1 al 5 y los print(dict_numbers)
valores, los valores al cubo.
Comprehension list if

random_numbers = [8, 9, 2, 3, 7, 9, 3, 5]

even_numbers = [i for i in random_numbers if i % 2 == 0]

print(even_numbers)
Comprehension list if/else

Se tiene la siguiente lista: ["paula", None, "flavia", None, "gabriela"]


Colocar a cada nombre válido la primera letra en mayúscula y reemplazar los None
con ""

lista = ["paula", None, "flavia", None, "gabriela"]

nombres = [nombre.capitalize() if nombre is not None else "" for nombre in lista]

print(nombres)
Comprehension list 🚨

No siempre su uso representa la mejor opción

# Teniendo la siguiente lista


lista = [[-2, 3, -4], [3, -5, 6], [2, -1, -6]]

# Formar una lista con los números que son negativos

negative_numbers = [elemento for sublista in lista for elemento in sublista if elemento < 0]

🚨No sacrificar la legibilidad


Comprehension list 🚨

No siempre su uso representa la mejor opción

# Teniendo la siguiente lista


lista = [[-2, 3, -4], [3, -5, 6], [2, -1, -6]]

# Formar una lista con los números que son negativos

negative_numbers = []
Usar bucles no es malo
for sublista in lista:
for elemento in sublista:
if elemento < 0:
negative_numbers.append(elemento)
Funciones
Motivación de funciones
● Reusabilidad
● Modularidad
Funciones integradas (built-in)

Aquellas inherentes a Python, ejemplos:

len, print, input, int, str, range, type, etc.

Listado oficial de Python


Definiendo una función propia

Ejemplos:

def dget_bmi(weight, height):


return weight/height**2

def welcome():
print("Bienvenid@ al curso")
Definiendo una función propia
def nombre_de_la_funcion(parámetro1, parámetro2, ..., parámetroN):
instrucción 1
instrucción 2
return algo (Opcional)

*Una función puede o no tener parámetros que pueden tener valores por defecto.
Invocando función

def get_bmi(weight, height):


return weight/height**2

print(get_bmi(80, 1.8))

print(get_bmi(weight = 80, height = 1.8))


Argumentos por defecto

def show_document(document_number, document_type = "DNI"):


print(f"Mi {document_type} es {document_number}")

show_document("70203340"))

show_document("70203340", "DNI")
Argumentos por defecto

def show_document(document_number, document_type = "DNI"):


print(f"Mi {document_type} es {document_number}")

show_document("70203340")

show_document("003275348", "Carnet de extranjería")


Argumentos por defecto

def show_document(document_number, document_type = "DNI"):


print(f"Mi {document_type} es {document_number}")

show_document(document_number = "70203340",
document_type = "DNI")

show_document(document_number = "003275348",
document_type = "Carnet de extranjería")
Input de funciones

Acorde al tipo de variable


Paso por valor

w = 20

Se crea una copia def reduce_weight(weight):


local de la variable return weight/2

print(reduce_weight(w))
10
print(w)
20
Paso por referencia

Recordemos
lista = [10, 20] el método append
retorna None
Las modificaciones def add_element(elements):
afectarán a la variable return elements.append(15)
original
print(add_element(lista))
print(lista) None
[10, 20, 15]
Múltiples argumentos

*args

**kwargs
Caso de múltiples argumentos

multiplicando(3, 5)

multiplicando(4, 2, 7)

multiplicando(6, 3, 9, 8)

La misma función pero


aceptando diferentes números
de inputs
Caso de múltiples argumentos

multiplicando(3, 5) multiplicando([3 , 5])

multiplicando(4, 2, 7) multiplicando([4, 2, 7])

multiplicando(6, 3, 9, 8) multiplicando([6, 3, 9, 8])

La misma función pero Es diferente a este caso


aceptando diferentes números donde el input es 1 lista
de inputs
Caso de múltiples argumentos

def multiplicando(*numeros):
producto = 1 *args al rescate
for i in numeros:
producto = producto * i
return producto *numeros permitió manejar
múltiples argumentos

Ya con la variable numeros (tupla)


pudimos iterar con un for
Caso de múltiples argumentos

Pequeño paréntesis con *args

msg = "Hola-mundo" msg = "Hola-mundo"

print(msg) print(*msg)

"Hola-mundo" "H o l a - m u n d o"


Desempaque con *msg
Caso de múltiples argumentos

Consideraciones con *args al desempaquetar

def area_triangulo(base, altura): a = [5, 4]


return base*altura/2
print(area_triangulo(*a)) ✅
print(area_triangulo(5, 4)

a = [5, 4, 2]

print(area_triangulo(*a))
Caso de múltiples argumentos

multiplicando(6, 3, 9, 8) lista_1 = [6, 3, 1]


lista_2 = [2, 4, 5]

multiplicando(*lista_1, *lista_2)
Caso de múltiples argumentos

generar_mensaje(a=5, b=7) def generar_mensaje(**nums):


s=0
"La suma de a, b es 12" keys = []
for key, value in nums.items():
s = s + value
keys.append(key)
generar_mensaje(a=5, b=7, c=9) print(f"La suma de {','.join(keys)} es {s}")

"La suma de a, b, c es 21"


Funciones lambda
● Contienen 1 expresión (se evalúa y retorna)
● No tiene nombre

area_rectangulo = lambda base, altura : base*altura


area_rectangulo es un identificador que recibe un objeto función
Invocando función lambda

Ejemplos:

area_rectangulo = lambda base, altura : base*altura

print(area_rectangulo(10,5))
¡Queremos verte crecer!

¿Tienes dudas?

Contacto:
hola@silabuz.com
Muchas Gracias
¡Síguenos en nuestras redes sociales!
/ Silabuz

www.silabuz.com

hola@silabuz.com

También podría gustarte