În această lecție, vom discuta despre funcții în Python, cum să le definim, să le apelăm și să lucrăm cu parametri, valori de retur și funcții recursive.
Definirea și apelarea funcțiilor
Funcțiile sunt blocuri de cod reutilizabile, care pot fi apelate cu ajutorul unui nume. Ele permit modularizarea și organizarea codului în unități mai mici și mai ușor de înțeles.
Sintaxa pentru definirea funcțiilor
def nume_functie(parametri):
# Blocul de cod al funcției
Apelarea funcțiilor
Pentru a apela o funcție, folosiți numele acesteia urmat de paranteze rotunde și argumentele corespunzătoare, dacă sunt necesare.
nume_functie(argumente)
Exemplu: Definirea și apelarea unei funcții simple
def salut():
print("Salut, lume!")
salut()
Parametri și argumente
Funcțiile pot primi valori de intrare prin intermediul parametrilor. Parametrii sunt variabile definite în parantezele rotunde după numele funcției. Când apelăm o funcție și furnizăm valori pentru parametrii acesteia, aceste valori se numesc argumente.
Exemplu: Funcție cu parametri
def salut(nume):
print("Salut,", nume, "!")
salut("Alice")
Parametri cu valori implicite
Putem defini valori implicite pentru parametrii unei funcții, astfel încât aceștia să fie opționali atunci când apelăm funcția.
def salut(nume="lume"):
print("Salut,", nume, "!")
salut()
salut("Alice")
Funcții cu valori de retur
Funcțiile pot returna valori pe care să le folosim în alte părți ale codului. Pentru a returna o valoare dintr-o funcție, folosim instrucțiunea return.
def adunare(a, b):
suma = a + b
return suma
rezultat = adunare(4, 5)
print("Suma este:", rezultat)
Funcții recursive
Funcțiile recursive sunt funcții care se autoapelează în cadrul propriului bloc de cod. Ele pot fi folosite pentru a rezolva probleme care pot fi divizate în subprobleme mai mici, cu aceeași structură ca problema inițială.
Exemplu: Calcularea factorialului unui număr folosind o funcție recursivă
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
numar = 5
rezultat = factorial(numar)
print("Factorialul numărului", numar, "este", rezultat)
Exemplu: Calcularea celui de-al n-lea număr Fibonacci folosind o funcție recursivă
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
numar = 10
rezultat = fibonacci(numar)
print("Al", numar, "lea număr Fibonacci este", rezultat)