E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale Python

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

DEVELOPMENT  /  Python  /  Introducere in Python (4)

Introducere in Python - Partea a II-a. Functii.

01.08.2009
Introducere in Python - Partea a II-a. Functii.

In acest tutorial vei putea citi despre functii predefinite in Python si functii definite de utilizator, cat si despre preluarea inputului de la tastatura.

Total vizualizari: 14812 14812 afisari   |   Comentarii  0   |   Rating   |   (2 voturi)   |   Timp necesar: 30 min 30 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  www.sthurlow.com  
Autor:  www.sthurlow.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 1 2 3 »
comenteaza printeaza

Definirea propriilor functii

Este bine sa utilizezi functiile altora, dar ce-ar fi sa-ti scrii propriile functii, pentru a economisi timp si poate pentru a le utiliza in alte programe? Aici intra in scena operatorul def (Un operator este ceva ce ii spune programului python ce sa faca, de ex. operatorul + ii spune sa adune, operatorul if ii spune sa execute ceva daca sunt indeplinite anumite conditii.)

Iata cum functioneaza operatorul def:

def nume_functie(parametru_1,parametru_2):
    {acesta este codul functiei}
    {si mai mult cod}
    {si mai mult cod}
    return {valoare ce trebuie returnata in programul principal}
{cod ce nu face parte din functie}
{pentru ca nu este indentat}
# nu uita sa pui ":" la sfarsitul liniei ce incepe cu 'def'

nume_functie reprezinta denumirea functiei, fiind urmat de codul functiei, care este indentat incepand cu urmatoarea linie (ne vom ocupa mai tarziu de parametru_1 si parametru_2, acum imagineaza-ti ca nu se afla nimic intre paranteze).

Functiile ruleaza complet independent de programul principal. Iti amintesti ca am spus ca atunci cand computerul apeleaza o functie, nu vede functia, ci valoarea returnata de aceasta? O functie este asemeni unui program in miniatura caruia ii sunt transmisi niste parametri - ii ruleaza singur si apoi returneaza o valoare. Programul principal vede doar valoarea returnata. Daca acea functie ar fi zburat pana la luna si inapoi si la sfarsit ar avea:

return "Hello"

atunci tot ceea ce ar vedea programul ar fi string-ul "hello".

Deoarece este un program distinct, o functie nu vede niciuna dintre variabilele aflate in programul principal si programul principal nu vede vreuna din variabilele definite in cadrul functiei. De exemplu, iata o functie care afiseaza cuvantul "hello" pe ecran si apoi returneaza valoarea "1234":

# Mai jos este definita functia
def hello():
    print "hello"
    return 1234
 
# Iata apelul functiei
print hello()

Gandeste-te la ultima linie de cod de mai sus. Ce am facut? Introdu codul in IDLE (poti sari peste comentarii) si vezi ce face. Rezultatul arata astfel:

hello
1234

Deci, ce s-a intamplat?
 1. Cand a fost rulat 'def hello()', a fost creata o functie denumita "hello".
 2. Cand a fost rulata linia 'print hello()', a fost executata functia "hello" (a fost rulat codul acesteia).
 3. Functia "hello" a afisat "hello" pe ecran, apoi a returnat numarul "1234" in programul principal.
 4. Programul principal vede acum linia ca fiind "print 1234" si ca rezultat a afisat "1234".

Argumentele functiilor

Ne vom mai referi la un singur subiect legat de functii - transmiterea parametrilor. Aminteste-ti cum am definit prototipul unei functii:

def nume_functie(parametru_1,parametru_2):
    {acesta este codul functiei}
    {si mai mult cod}
    {si mai mult cod}
    return {valoare ce trebuie returnata in programul principal}

In codul de mai sus, parametru_1 si parametru_2 (intre paranteze) reprezinta argumentele functiei. O functie poate avea oricate argumente, separate prin virgule. La apelul acesteia, prima valoare aflata in interiorul parantezelor va fi transmisa variabilei parametru_1. Cea de-a doua (dupa prima virgula) va merge la variabila parametru_2. Aceasta se intampla indiferent de cat de multi parametri exista in functie (de la 0 la infinit). De exemplu:

def functie_amuzanta(cuvant1,cuvant2,cuvant3):
    print "Propozitia creata este: " + cuvant1 + cuvant2 + cuvant3
    return cuvant1 + cuvant2 + cuvant3

Ca exemplu, poti apela functia de mai sus astfel: functie_amuzanta("La ","multi ","ani!"). Prima valoare (care este "La ") va fi trimisa in variabila denumita cuvant1. Cea de-a doua valoare din paranteze ("multi ") va fi in variabila denumita cuvant2 si asa mai departe. Astfel sunt trimise valorile din programul principal in functii - in paranteze, dupa numele functiei.

Un program complet

Aminteste-ti de programul calculator. Ti s-a parut cam confuz? Cred ca da, deci sa-l rescriem cu ajutorul functiilor.

Pagina:
« 1 2 3 »
comenteaza printeaza
Alte tutoriale Python:
Noteaza acest tutorial
Rating tutorial
 
(2 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4450
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4340
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4305
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4145
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Fotografie Fireworks Flash RoR Gimp Sony Vegas Excel Powerpoint Dreamweaver Illustrator Action Script JSON CSS XML Word Vista Swift 3D PSD COREL DRAW Python XHTML HTML Verilog Java PHP SWF SEO AJAX Ruby on Rails StyleSheet MySQL Bridge Javascript Photoshop Lightroom Outlook
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software