Funcțiile explicate pe înțelesul tuturor
Funcțiile sunt cărămizile reutilizabile ale oricărui program. Îți explicăm simplu ce sunt, cum le scrii în Python, ce sunt parametrii și valoarea returnată.
Dacă ar trebui să faci o cafea de zece ori pe zi, ai reînvăța rețeta de fiecare dată? Nu — ai memora pașii o dată și i-ai repeta când ai nevoie. În programare, această „rețetă salvată" se numește funcție.
Ce este o funcție?
O funcție este un bloc de cod cu un nume, pe care îl scrii o singură dată și îl poți folosi de câte ori vrei. În loc să copiezi aceleași linii peste tot, le pui într-o funcție și o „apelezi".
def saluta():
print("Salut! Bine ai venit.")
# Apelăm funcția de două ori
saluta()
saluta()
Cuvântul def îi spune lui Python: „definesc o funcție". saluta este numele ei, iar codul indentat dedesubt e ceea ce face funcția.
Parametri: datele de intrare
O funcție devine cu adevărat utilă când îi putem da informații de fiecare dată când o apelăm. Acestea se numesc parametri.
def saluta(nume):
print(f"Salut, {nume}!")
saluta("Ana") # Salut, Ana!
saluta("Mihai") # Salut, Mihai!
Aici nume este parametrul. Când apelăm saluta("Ana"), valoarea "Ana" intră în funcție și e folosită în interior.
Poți avea mai mulți parametri:
def aduna(a, b):
print(a + b)
aduna(3, 5) # 8
Valoarea returnată: rezultatul
Multe funcții nu doar afișează ceva, ci calculează un rezultat și ți-l dau înapoi cu return. Astfel poți folosi rezultatul mai departe.
def aduna(a, b):
return a + b
rezultat = aduna(3, 5)
print(rezultat * 2) # 16
Diferența e importantă:
Cu print | Cu return |
|---|---|
| Doar afișează pe ecran | Trimite valoarea înapoi |
| Nu o poți refolosi | O poți salva și folosi |
| Bun pentru mesaje | Bun pentru calcule |
De ce sunt funcțiile importante?
- Eviți repetiția — scrii logica o dată, o refolosești oriunde.
- Cod mai clar — un nume bun de funcție explică ce face codul.
- Mai ușor de reparat — dacă ai o greșeală, o corectezi într-un singur loc.
- Lucru în echipă — fiecare poate scrie și testa funcția lui separat.
Regulă de aur: dacă te trezești copiind același cod de mai multe ori, e semnul clar că ai nevoie de o funcție.
Un exemplu mai complet
Să scriem o funcție care verifică dacă un număr este par:
def este_par(numar):
if numar % 2 == 0:
return True
else:
return False
# Testăm pe numerele de la 1 la 5
for n in range(1, 6):
if este_par(n):
print(f"{n} este par")
else:
print(f"{n} este impar")
Observă cum funcția este_par ascunde detaliile (verificarea cu %) în spatele unui nume clar. Când o citești în buclă, înțelegi imediat ce face, fără să te gândești la matematică.
Valori implicite pentru parametri
Poți da unui parametru o valoare implicită, folosită când nu trimiți nimic:
def saluta(nume="prietene"):
print(f"Salut, {nume}!")
saluta() # Salut, prietene!
saluta("Elena") # Salut, Elena!
Concluzie
Funcțiile transformă codul dintr-o grămadă de instrucțiuni într-un set de unelte ordonate. Începe cu funcții mici și simple: def, un nume bun, eventual câțiva parametri și un return. Cu timpul, vei gândi orice problemă ca pe o serie de funcții care lucrează împreună.
La ByteSchool exersezi exact aceste deprinderi cu mentori din Big Tech, care îți arată cum să-ți organizezi codul în funcții curate, ușor de citit și de refolosit.