Declarațiile Try, Except, Finally ne permit să manevrăm erorile din programul nostru fără dificultăți.
Structură:
try:#Codul care conține eroriexcept:#Codul care va rula în cazul în care codul precedent conține erorielse:#Codul care va rula în cazul în care nu există erorifinally:#Codul care întodeauna se execută indiferent dacă a apărut sau nu eroare
Exemplu
# Exemplu cand avem erorinumbers = [3,5,7,10,'3',5,'5','9']new_numbers = []for n in numbers: n = n +10 new_numbers.append(n)
Cum soluționăm
numbers = [3,5,7,10,'3',5,'5','9']new_numbers = []for n in numbers:print('---------')try: n = n +10 new_numbers.append(n)print("Poate ma execut da poate nu vreau")exceptTypeError:# prindem eroarea TypeError, care o vedem aruncata in celula de mai susprint('ERRRRRROAOAAAAAARE')# n = str(n) + 10# new_numbers.append(n)else:print("Codul s-a executat fără erori")finally:print("Eu poate si nu vreau dar nimeni nu ma intreaba, ma execut intotdeauna")
Lambda
Lambda este o funcție anonimă, ce nu are nume.
Funcția Lambda conține doar o expresie.
Funcția Lambda poate conține multiple variabile.
Structiră:
#lambda <variabilele folosite în expresie> : <expresie>
(lambdax : x +1)(1)#functia și apelarea funcției in o linie
hello =lambda*x : print("Hello,", x[1])hello('Mia', 'Lia')#Output Lia
De ce am utiliza funcția Lambda?
Funcția Lambda este folositoare atunci când vrem să definim o funcție intr-o singura linie de cod.
fruits = [('banane',3), ('portocale',2), ('mere',5), ('pere',7), ('gutui',4)]print(sorted(fruits))# Sortarea dupa al doilea elementprint(sorted(fruits, key =lambdax: x[1]))