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: 16645 16645 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:
« 12 3
comenteaza printeaza

Mai intai vom defini toate functiile pe care le vom utiliza cu ajutorul operatorului def. Apoi vom avea programul principal, cu acel cod confuz inlocuit de functii dragute si clare, ceea ce il va face mai usor de citit si de inteles.

# program calculator
 
# NU AVEM NEVOIE DE COD AICI
# In continuare definim functiile
 
# Functia menu afiseaza meniul
def menu():
    #afiseaza optiunile
    print "Bine ai venit la calculator.py" 
    print "Optiunile tale sunt:"
    print " "
    print "1) Adunare"
    print "2) Scadere"
    print "3) Inmultire"
    print "4) Impartire"
    print "5) Iesire din calculator.py"
    print " "
 
    return input ("Alege optiunea: ")
    
# Functia add aduna doua numere
def add(a,b):
    print a, "+", b, "=", a + b
    
# Functia sub scade doua numere
def sub(a,b):
    print b, "-", a, "=", b - a
    
# Functia mul inmulteste doua numere
def mul(a,b):
    print a, "*", b, "=", a * b
    
# Functia div imparte doua numere
def div(a,b):
    print a, "/", b, "=", a / b
    
# ACUM INCEPE PROGRAMUL PRINCIPAL
loop = 1
choice = 0
while loop == 1:
    choice = menu()
    if choice == 1:
        add(input("Aduna asta: "),input("cu asta: "))
    elif choice == 2:
        sub(input("Scade asta: "),input("din asta: "))
    elif choice == 3:
        mul(input("Inmulteste asta: "),input("cu asta: "))
    elif choice == 4:
        div(input("Imparte asta: "),input("la asta: "))
    elif choice == 5:
        loop = 0
 
print "Iti multumim ca ai utilizat calculator.py!"
 
# AICI SE TERMINA PROGRAMUL

Programul initial avea 34 linii de cod. Noul program are 35! Este putin mai lung, dar daca il privesti cum trebuie, este de fapt mai simplu.

Toate functiile necesare au fost definite la inceput. Aceasta nu este de fapt o parte a programului principal - formeaza o multime de programele pe care le vei apela mai tarziu. Le-ai putea reutiliza in alt program daca ai avea nevoie, fara a-i spune din nou computerului cum sa adune si sa scada.

Daca privesti partea principala a programului (intre linia "loop=1" si 'print "Iti multumim..."'), sunt doar 15 linii de cod. Aceasta inseamna ca daca ai fi vrut sa scrii acest program in mod diferit, ar fi trebuit sa scrii aproximativ 15 linii fata de 34 de linii cate ai fi avut in mod normal fara functii.

Trucuri pentru transmiterea parametrilor

Functia add ar putea fi apelata astfel:

 add(input("Aduna asta: "),input("cu asta: "))

Am vrut sa am totul intr-o singura linie, cu cat mai putine variabile posibil. Iti amintesti cum aratau functiile in programul principal? Daca numerele transmise functiei add() ar fi fost 2 si 30, programul principal ar fi vazut urmatoarele:

add(2,30)

Aceasta va rula apoi functia add, adunand 2 si 30, apoi afisand rezultatul. Functia de adunare nu include instructiunea return, ceea ce inseamna ca nu returneaza nimic in programul principal. Pur si simplu aduna 2 numere si afiseaza rezultatul pe ecran, dar programul principal nu vede nimic din toate acestea.

In loc de (input("Aduna asta: ") si input("cu asta: ")) ai putea utiliza ca parametri doua variabile. De exemplu:

num1 = 45
num2 = 7
add(num1,num2)

Pentru ce avem mai sus, aminteste-ti ca functia careia ii trimiti variabilele nu le poate modifica - sunt utilizate pur si simplu ca valori. O alta modalitate ar fi sa apelezi functia direct cu valorile numerice:

add(45,7)

Exemplul de mai sus este corect deoarece singurul lucru vazut de functie sunt valorile transmise ca parametri. Aceste valori sunt asezate in argumentele corespunzatoare din definitia functiei "add", respectiv in variabilele a si b.

Pe scurt:

  • Singurul lucru vazut de functii sunt parametrii trimisi din programul principal.
  • Singurul lucru vazut de programul principal sunt valorile returnate de functii.

In urmatoarea parte a acestei serii vei putea analiza si alte exemple de utilizare a functiilor.

Pagina:
« 12 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
5340
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
5300
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
5135
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
5130
Tutoriale scrise de beacherrosa
beacherrosa Rang utilizator beacherrosa - Incepator
4875
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Javascript PSD Ruby on Rails PHP XHTML HTML COREL DRAW Outlook Sony Vegas SWF Dreamweaver Fotografie Excel Vista Word JSON Lightroom Illustrator XML Python Action Script RoR Swift 3D MySQL AJAX SEO Bridge Powerpoint Verilog Flash CSS Gimp Fireworks Java Photoshop StyleSheet
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