Introducere
				
				Am folosit frecvent 
funcțiile până acum, iar ele sunt de fapt niște 
subrutine, adică 
subprograme care ne ajută la prelucrarea informației.
				
				
De exemplu, funcția 
len primește ca parametru un obiect și întoarce lungimea acestuia, fie că e șir de caractere, listă, tuplu, dicționar sau set:
				
				
 Definiţia 1.
				
				Definiţia 1. Prin 
subprogram vom înţelege 
un ansamblu alcătuit din declarări şi instrucţiuni scrise în vederea unei anumite prelucrări, 
				ansamblu implementat separat şi identificat printr-un nume.
				
				Putem enumera unele dintre avantajele utilizării subprogramelor:
				
				• 
reutilizarea codului - odată scris, un subprogram poate fi utilizat de către mai multe programe;
				• 
elaborarea algoritmilor prin descompunerea problemei în altele mai simple - în acest fel, rezolvăm cu mult mai uşor problema;
				• 
reducerea numărului de erori care pot apărea la scrierea programelor;
				• 
depistarea cu uşurinţă a erorilor - verificăm la început subprogramele, apoi modul în care le-am asamblat (le-am apelat din cadrul programului);
				• realizarea unor 
programe uşor de urmărit (lizibile).
				
				Funcțiile pot fi grupate în 
module, adică în niște fișiere separate cu extensia 
*.py, pe care le putem include în program folosind directiva 
import 
				(veți vedea mai târziu cum). 
				
				
				
Crearea unei funcții
				Pentru început, vom crea o funcție în cadrul unui program. Să pornim așadar de la un caz simplu.
				
				
Exemplu. Se citeşte 
n, un număr natural. Să se scrie programul care tipărește valoarea calculată a expresiei:
				
				
 
				
				Analizați programul următor, care folosește de această dată o funcție numită 
subp (de la subprogram), creată de noi:
	
				
				
				
				
				
					| Editor - lectia17_functii.py |  | 
				 				
				 
				
				
				
				DETALII
				
				
				
				Antetul funcției este "
def subp(x):", iar corpul ei, instrucțiunea compusă subordonată (setul de instrucțiuni indentate):
				
				
 
				
				Funcția (subprogramul) se numește "
subp".
				Funcţia are un parametru numit 
x. Rolul său este important deoarece precizează pentru ce valoare trebuie calculată expresia. 
				Aşa cum vom vedea, există posibilitatea să avem mai mulţi parametri.
				Funcţia are variabile proprii - adică definite/declarate în interiorul ei. În exemplu, 
s şi 
i. Aceste variabile se numesc 
variabile locale.
				Am văzut că funcţia întoarce un anumit rezultat! Observaţi mecanismul prin care am obţinut acest lucru. 
				Calculăm expresia în mod obişnuit. Rezultatul este reţinut de variabila locală 
s. Prin instrucţiunea "
return s", 
				funcţia a primit ca valoare de retur conţinutul variabilei 
s.
				
				
				
Parametri formali vs. parametri efectivi
				
				În terminologia utilizată în teoria subprogramelor - în particular, în cazul funcţiilor - se utilizează termenii 
parametri formali şi 
parametri efectivi.
				
				
Definiţia 2. Parametrii care se găsesc în antetul funcţiei se numesc 
parametri formali.
				
				Atunci când scriem o funcţie nu cunoaştem valoarea propriu-zisă a parametrilor. 
				Funcţia trebuie să întoarcă rezultatul corect, oricare ar fi valoarea lor. Din acest punct de vedere ei se numesc 
formali.
				
				
Definiţia 3. Parametrii care se utilizează la apel se numesc parametri 
efectivi (
argumente).
				
				La apel, lucrurile stau altfel: valorile acestora sunt cunoscute. Prin urmare, aceştia se numesc 
parametri efectivi. 
				De exemplu, pentru apelul "
rez = subp(n)", parametrul efectiv este 
n.
				
				
				
				Avansează la pagina următoare.
				
				
				
				
					Cărțile editurii noastre
				
				
				
				
				O parte dintre manualele și culegerile de probleme se găsește și [
în format electronic] 
				securizat sub formă 
de fișier *.pdf.
				
				
				
				"
O cameră fără cărţi este ca un corp fără suflet." 
(G. K. Chesterton)
				
				
				
					Cursanții au mai cumpărat ...
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				[
vezi lista completă a cărților]