ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Apuntes funciones y decoradores de Python


Enviado por   •  19 de Marzo de 2022  •  Apuntes  •  457 Palabras (2 Páginas)  •  74 Visitas

Página 1 de 2

palyndrome

def is_palindrome (string: str) -> bool:

string = string.replace(" ","").lower()

return string == string[::-1]

def run():

return is_palindrome(Ana)

if __name__ == '__main__':

run()

mypy te permite ver errores de tipado

Scope: alcance de las variables "Una variable solo esta disponible dentro de la region donde fue creada"

eje: Scope local

def my_func():

y = 5

print(y)

my_func()

eje: Global Scope

y = 5 #Global Scope

def my_func():

print(y)

def my_another_func():

print(y)

Eje2: Alcance local y global

z = 5

def my_func():

z = 2

print(z)

print(z)

Out: 2

5

4) Closures

Nested Functions (Funciones anidadas): funciones creadas dentro de una funcion

Eje:

def main():

a = 3

def nested():

print(a)

nested()

main()

Eje:

def main():

a = 3

def nested():

print(a)

return nested

my_func = main()

my_func() # 1

Closures: Cuando la variable de un Scope superior es recordada aun siendo borrada

Reglas para encontrar un closure:

· Debemos tener una nested funcion.

· La nested function debe referenciar un valor de un scope superior

· La funcion que envuelve a la nested function debe retornarla tambien

Eje:

def main():

a = 5

def nested():

print(a)

return nested

my_func() = main()

my_func()

del(main)

my_func() # 5 "Closures"

Eje:

def make_multiplier(x):

def multiplier(n):

return x * n

return multiplier

times10 = make_multiplier(10)

times4 = make_multiplier(4)

print(times10(3))

print(times4(5))

print(times10(times4(2)))

# 30 , 20, 80

Decoradores "Closure especial" Es una funcion que recibe como parametro otra funcion, le añade cosas, y retorna una funcion

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (41 Kb) docx (10 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com