Sunteți pe pagina 1din 11

Bazele programării

calculatoarelor

lect. univ. Victoria ALEXEI


Departament Informatică și Ingineria Sistemelor
Facultatea Calculatoare, Informatică și Microelectronică

victoria.alexei@iis.utm.md
Funcțiile

În acest curs vom învăța:

- Structura funcțiilor
- Cum se creează funcțiile definite de utilizator
Funcțiile

Funcțiile abstractizează părți din cod;


• O funcție este un bloc de cod organizat, reutilizabil, care este utilizat pentru a efectua
o singură acțiune asociată
• Funcțiile abstractizează părți din cod
• Funcțiile oferă o mai bună modularitate pentru aplicațiile dvs. și un grad ridicat de
reutilizare a codului
• Python vă oferă numeroase funcții încorporate, însă putem crea propriile funcții
• Funcțiile fac programarea mai modulară și reduc potențialele erori
Cum funcționează funcțiile?

Procesul de executare a funcției poate fi rezumat


la trei etape:

1. Funcția este apelată iar argumentele trec ca intrări


2. Funcția este executată și au loc anumite acțiuni cu
argumentele
3. Funcția returnează, iar apelul original este înlocuit cu
returnarea valorilor
Anatomia funcției

1. Semnătura funcției, unde avem definirea


numelui funcției și orice intrări/argumente pe
care le
așteaptă.

2. ’’’Docstring’’’

3. Corpul funcției, conține codul care rulează ori


de câte ori funcția este apelată.
Semnătura funcției

def multiply(x, y)

1. Cuvântul cheie def


2. Numele funției, multiply
3. Lista de parametri
4. Două puncte (:)
Docstring
Corpul funcției

product = x * y
return product
Funcții recursive

O funcție este recursivă dacă se autoapelează


înainte de a se reveni din ea.

Procesul în care o funcție se apelează pe ea însăși


poartă numele de recursivitate.
Funcții recursive
Avantajele recursiei:

1. Funcțiile recursive fac ca codul Python să arate curat și elegant


2. O sarcină complexă poate fi împărțită în sub-probleme mai simple folosind recursia
3. Generarea secvențelor este mai ușoară cu recursia față de iteratorii imbricați.

Dezavantajele recursiei:

1. Uneori logica din spatele recursiei este greu de urmat


2. Apelurile recursive sunt costisitoare (ineficiente), deoarece ocupă multă memorie și iau mult timp
3. Funcțiile recursive sunt greu de depanat
Exemple

S-ar putea să vă placă și