Вы находитесь на странице: 1из 9

3.12.

2014

E-learn.ro

Introducere in Python - Partea I

13.07.2009

Python este un limbaj de programare interpretat.


In acest tutorial vei putea citi despre variabile, operatori matematici si booleeni, bucla while si instructiuni conditionale.
20744 afisari

Rating

(7 voturi)

20 min

Instalarea Python
Ce este python?
Python este un limbaj de programare interpretat. Pentru cei care nu stiu, un limbaj de programare este ceea
ce scrii pentru a-i spune unui calculator ce are de facut. Oricum, computerul nu citeste limbajul in mod direct exista sute de limbaje de programare si nu ar putea sa le inteleaga pe toate. Deci, cand cineva scrie un
program, il va scrie in limbajul selectat si apoi il va compila - aceasta inseamna transformarea intr-o multime de
0 si de 1, pe care computerul le poate intelege rapid si usor. Diversele programele pe care le poti cumpara
pentru calculatorul tau sunt deja compilate pentru Windows - daca incerci sa deschizi un astfel de program cu
Notepad sau Wordpad, vei vedea doar o multime de caractere ciudate.
Un program care este compilat pentru Windows nu va functiona pe un alt sistem de operare. Diferenta dintre
Python si astfel de programe este ca acest limbaj nu este niciodata compilat in totalitate - la rulare, fiecare
instructiune este transformata in serii de 0 si 1 pe care computerul tau le poate intelege. In plus, totul este
facut pe loc - codul este executat pe masura ce rulezi programul. Daca ai iesi din program si ai reveni in alta zi,
bitii ar fi din nou compilati. Ti se pare a fi pierdere de timp? Poate, dar asta inseamna ca un program Python
poate rula pe diferite sisteme de operare, fara a necesita ajustari. Ai putea trimite programul unui prieten,
care utilizeaza un alt tip de computer. Sau ai putea posta programul pe Internet, de unde sa fie descarcat de
persoane lucrand pe calculatoare diferite. Acesta este miracolul unui limbaj de programare interpretat - este
un limbaj pe care orice sistem il poate INTELEGE.

Cum se instaleaza python


1. Mai intai downloadeaza Python urmand acest link( http://www.python.org/download/).
Pentru acest tutorial a fost utilizata versiunea 2.6.2.
2. Executa fisierul downloadat si urmeaza comenzile.
OK! Sa speram ca totul a mers bine! Acum, pentru a testa daca functioneaza, tasteaza urmatoarea
instructiune in fereastra de comenzi - daca lucrezi pe Windows, cauta Python in Programs, acceseaza Python
(command line), apoi ruleaza urmatoarea comanda:
print "Hello World!"
Incearca, vezi ce se intampla. Pentru a inchide fereastra, tasteaza 'quit()', apoi apasa Enter.

'Programe' foarte simple


Introducere
OK! Am instalat python, si acum? Pai, sa programam!
Si este usor (cel putin pentru moment). Python face sa fie usor de rulat linii singulare de cod - programe monohttp://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm
1/9

3.12.2014

E-learn.ro

Si este usor (cel putin pentru moment). Python face sa fie usor de rulat linii singulare de cod - programe monoliniare. Sa incercam!

Deschidem IDLE
Mergi in meniul de start, gaseste Python si ruleaza programul denumit 'IDLE' (Vine de la Integrated
Development Environment - Mediu Integrat de Dezvoltare).
Acum te afli in mediul IDLE. Acesta este locul in care iti vei petrece majoritatea timpului. Aici poti deschide o
noua fereastra pentru a scrie un program sau poti pierde vremea cu linii singulare de cod, ceea ce vom si face.
Tasteaza urmatoarele si apasa enter:
>>> print "Hello World!"
Ce s-a intamplat? Tocmai ai creat un program care afiseaza cuvintele 'Hello, World'. Mediul IDLE in care te afli
compileaza imediat orice ai tastat. Este extrem de util pentru testare, de exemplu la definirea variabilelor, sau
pentru a verifica daca o anumita linie de cod functioneaza.

Matematica in Python
Cu Python poti efectua anumite operatii matematice, cum ar fi:
- Adunare
>>> 1 + 1
2
>>> 20+80
100
>>> 18294+449566
467860
-Scadere
>>> 6-5
1
- Inmultire
>>> 2*5
10
- Ridicare la putere
>>> 5**2
25
- Impartire
>>> 21/3
7
>>> 23/3
7
>>> 23.0/3.0
7.6666
- Restul impartirii
http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

2/9

3.12.2014

E-learn.ro

>>> 23%3
2
>>> 49%10
9
In plus, poti afisa sume si variabile printr-un singur apel al functiei print, utilizand virgula pentru a separa
diferitele sectiuni:
>>> print "un kilobyte este 2^10 bytes, sau", 2**10, "bytes"
un kilobyte este 2^10 bytes, sau 1024 bytes
In tabelul de mai jos poti vedea toti operatorii Python prezentati mai sus.
Operator

Nume

Exemplu

Rezultat

Adunare

4+5

Scadere

8-5

Inmultire

4*5

20

Impartire

19/3

Restul impartirii

19%3

**

Ridicare la putere

2**4

16

Iti amintesti de ordinea operatiilor din matematica? Se aplica si in python. Iata, ca sa iti amintesti:
1. paranteze()
2. ridicare la putere **
3. inmultire *, impartire , si restul impartirii %
4. adunare + si scadere -

Ordinea operatiilor
Iata cateva exemple pe care le-ai putea incerca:
>>> 1 + 2 * 3
7
>>> (1 + 2) * 3
9
In primul exemplu, computerul calculeaza mai intai 2 * 3, apoi adauga 1. Aceasta, deoarece inmultirea este
efectuata inaintea adunarii.
In cel de-al doilea exemplu, computerul calculeaza mai intai 1 + 2, apoi inmulteste cu 3. Aceasta, din cauza
parantezelor care incadreaza adunarea.
Mai aminteste-ti si ca in matematica se calculeaza de la stanga la dreapta, exceptand cazul in care exista
paranteze. Paratezele interioare sunt calculate primele. Priveste urmatoarele exemple:
>>> 4 - 40 - 3
-39
>>> 4 - (40 - 3)
-33
In primul exemplu, se calculeaza intai 4 -40, apoi - 3.
In cel de-al doilea exemplu, se calculeaza mai intai 40 - 3 si apoi se scade din 4.
http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

3/9

3.12.2014

E-learn.ro

Comentarii
Ultimul lucru pe care trebuie sa-l cunosti pentru a putea trece la programe cu mai multe linii de cod sunt
comentariile. Tasteaza urmatoarele (si da, rezultatul executiei este afisat):
>>> #Iata un comentariu
>>>
Un comentariu este o portiune de cod care nu este rulata. In python, creezi un comentariu punand caracterul
# inainte. Acesta va ascunde tot ce se afla dupa el in acea linie si nimic inainte. Deci ai putea tasta
urmatoarele:
>>> print "mancarea e foarte buna" #primul comentariu
mancarea e foarte buna
>>># print "mancarea e foarte buna"
(nu se intampla nimic deoarece codul se afla dupa #)
>>> print "mancarea e foarte buna" primul comentariu
(vei primi un mesaj de eroare deoarece nu ai folosit # pentru comentariu
Comentariile sunt importante pentru a adauga informatiile necesare altui programator pentru a intelege codul,
dar nu influenteaza cu nimic computerul. In plus, poti utiliza comentariile pentru a deactiva anumite portiuni de
cod, urmand sa le reactivezi mai tarziu.

Variabile si scripturi
Introducere
Deci, putem executa programe monoliniare. Si? Vrei sa trimiti programele altor oameni, pentru a le putea
utiliza, fara sa stie cum sa le scrie.

Editare in Notepad
Scrierea programelor din python intr-un fisier, este FOARTE usoara. Programele Python sunt simple documente
text - le poti deschide in notepad pentru a le observa. Deci, deschide notepad si tasteaza urmatoarele:
#Un program simplu.
print "Mary had a little lamb,"
print "it's fleece was white as snow;"
print "and everywhere that Mary went",
print "her lamb was sure to go."
Pastreaza totul la fel, inclusiv pozitionarea virgulelor. Salveaza fisierul ca fiind 'mary.py' - si asigura-te ca
notepad nu adauga extensia .txt. Dezactiveaza 'Hide known file extensions' in Windows Explorer, daca iti va fi
mai usor.

Utilizarea mediului IDLE


Acum, deschide programul Python IDLE (ar trebui sa fie in meniul de start). Click File > Open, gaseste
mary.py si deschide-l. Daca nu poti gasi mary.py, seteaza dialogul de deschidere la 'Files of type: All Files
(*)'. Se va deschide o noua fereastra, prezentand programul pe care tocmai l-ai scris. Pentru a rula
programul, click Run>Run Module (sau doar apasa F5). Programul va rula in ecranul principal Python (Denumit
Python Shell) si va afisa urmatoarele:
Mary had a little lamb,
http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

4/9

3.12.2014

E-learn.ro

Mary had a little lamb,


it's fleece was white as snow;
and everywhere that Mary went her lamb was sure to go.
Mai poti utiliza si IDLE pentru a crea programe Python, asa cum ai facut in notepad. Pur si simplu acceseaza
File > New Window. De acum vei scrie toate programele in python IDLE - am folosit notepad doar ca
demonstratie pentru a iti arata ca un fisier .py este doar un simplu fisier text, pe care oricine il poate vedea.
Exista cateva aspecte de mentionat:
Mai intai, comentariul nu a fost afisat. Aceasta este bine, deoarece, aminteste-ti - comentariile nu sunt
compilate. (incearca sa compilezi dupa indepartarea # - va rezulta o invalmaseala)
Apoi, a 3-a si a 4-a linie au fost concatenate, deoarece exista o virgula la sfarsitul celei de-a treia linii de
cod. Aceasta opreste programul din a crea o noua linie pe ecran atunci cand afiseaza textul.

Variabile
Acum sa incepem introducerea variabilelor. Variabilele stocheaza o valoare care poate fi analizata sau
schimbata ulterior. Pentru a crea un program care utilizeaza variabile, deschide IDLE, apoi acceseaza
File>New Window - apare o noua fereastra in care este usor sa editezi programe. Tasteaza urmatoarele
(sau doar copy si paste - insa citeste cu multa atentie si compara codul cu rezultatul oferit de catre program):
#utilizarea variabilelor
print "Acest program este un test pentru variabile"
v=1
print "Valoarea lui v este acum", v
v=v+1
print "v este incrementat cu 1, luand valoarea", v
v = 51
print "v poate retine orice valoare numerica"
print "de exemplu, v este acum", v
print "v inmultit cu 5 este", v*5
print "dar valoare lui v ramane", v
print "pentru a retine aceasta valoare in, trebuie sa scrii v = v * 5"
v=v*5
print "iata, v este acum", v, "si nu", v / 5

Siruri de caractere
Dupa cum poti observa, variabilele stocheaza valori pe care le poti schimba oricand si le utiliza mai tarziu. Poti
insa atasa nu numai numere, ci si text. O variabila care suporta text se numeste string. Incearca acest
program:
#variabile de tip string si concatenarea lor
word1 = "Buna"
word2 = "dimineata"
word3 = "si tie!"
print word1, word2
sentence = word1 + " " + word2 + " " +word3
print sentence
Rezultatul va fi:
Buna dimineata
Buna dimineata si tie!
Dupa cum poti vedea, variabilele de mai sus retin text. Denumirile variabilelor pot contine mai mult decat o
litera - aici avem word1, word2, and word3. Dupa cum mai poti observa, sirurile de caractere pot fi unite
(concatenate) pentru a crea cuvinte sau propozitii mai lungi. Oricum, concatenarea nu adauga spatii intre
cuvinte - de aceea trebuie sa adaugi tu spatiile punand " " intre elemente.
http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

5/9

3.12.2014

E-learn.ro

cuvinte - de aceea trebuie sa adaugi tu spatiile punand " " intre elemente.

Bucle si instructiuni conditionale


Introducere
(Lectia finala inainte de a interactiona cu utilizatorii. Nu-i asa ca esti nerabdator?)
Imagineaza-ti ca ai avea nevoie ca un program sa execute ceva de 20 de ori. Ce ai face? Ai copia si atasa
codul de 20 de ori si ai avea un program practic necitibil, ca sa nu mentionez incetineala si inutilitatea. Sau i-ai
putea spune computerului sa repete o portiune de cod intre punctul A si punctul B pana cand trebuie sa se
opreasca. Aceasta este o bucla.

Bucla 'while'
Urmatoarele sunt exemple de bucle de tip 'while':
a=0
while a < 10:
a=a+1
print a
Cum functioneaza acest program? Iata "traducerea" sa in romana:
'a' este 0
Cat timp 'a' este mai mic decat 10, executa urmatoarele:
Mareste valoarea 'a' cu 1.
Afiseaza valoarea 'a'.
Ce face? Sa vedem ce ar 'gandi' computerul cand este in bucla 'while':
#UITA-TE REPEDE PE URMATORUL COD
#(Arata lung, dar este foarte simplu)
Este'a' mai mic decat 10? DA (este 0)
Mareste 'a' cu o unitate (este 1)
Afiseaza valoarea lui 'a' (1)
Este'a' mai mic decat 10? DA (este 1)
Mareste 'a' cu o unitate (este 2)
Afiseaza valoarea lui 'a' (2)
Este'a' mai mic decat 10? DA (este 2)
Mareste 'a' cu o unitate (este 3)
Afiseaza valoarea lui 'a' (3)
Este'a' mai mic decat 10? DA (este 3)
Mareste 'a' cu o unitate (este 4)
Afiseaza valoarea lui 'a' (4)
Este'a' mai mic decat 10? DA (este 4)
Mareste 'a' cu o unitate (este 5)
Afiseaza valoarea lui 'a' (5)
Este'a' mai mic decat 10? DA (este 5)
Mareste 'a' cu o unitate (este 6)
Afiseaza valoarea lui 'a' (6)
Este'a' mai mic decat 10? DA (este 6)
Mareste 'a' cu o unitate (este 7)
Afiseaza valoarea lui 'a' (7)
Este'a' mai mic decat 10? DA (este 7)
Mareste 'a' cu o unitate (este 8)
Afiseaza valoarea lui 'a' (8)
http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

6/9

3.12.2014

E-learn.ro

Este'a' mai mic decat 10? DA (este 8)


Mareste 'a' cu o unitate (este 9)
Afiseaza valoarea lui 'a' (9)
Este'a' mai mic decat 10? DA (este 9)
Mareste 'a' cu o unitate (este 10)
Afiseaza valoarea lui 'a' (10)
Este'a' mai mic decat 10? NU (este 10, deci nu e mai mic decat 10)
Iesi din bucla
Nu a mai ramas cod de executat, deci iesi din program
Pe scurt, incearca sa gandesti astfel atunci cand scrii bucle 'while':
while {conditie pentru care bucla continua}:
{codul din interiorul buclei}
{indenteaza-l, de obicei cu 4 spatii}
{codul de aici nu face parte din bucla}
{deoarece nu este indentat }
Iata si un alt exemplu:
#EXEMPLU
#Scrie acest cod si executa-l
x = 10
while x != 0:
print x
x=x-1
print "wow, am decrementat variabila x si acum are valoarea", x
print "Am iesit din bucla."
Aminteste-ti, pentru a crea un program, deschizi IDLE, accesezi File > New Window, tastezi programul in
noua fereastra, apoi apesi F5 pentru a rula.

Expresii Booleene
Ce scrii in zona marcata {conditie pentru care bucla continua}? Raspunsul este o expresie booleana.
Poftim? Un concept uitat pentru non-matematicienii de aici. Nu conteaza, o expresie booleana semnifica doar o
intrebare la care se poate raspunde cu TRUE (adevarat) sau FALSE (fals). De exemplu, daca vrei sa spui ca
varsta ta este aceeasi cu a persoanei de langa tine, ai scrie:
Varsta mea == varsta persoanei de langa mine
Si afirmatia ar fi TRUE. Daca ai fi mai tanar decat respectiva persoana, ai spune:
Varsta mea < varsta persoanei de langa mine
Si afirmatia ar fi TRUE. Daca tu ai fi spus urmatoarele si persoana de langa tine ar fi mai tanara decat tine:
Varsta mea < varsta persoanei de langa mine
Afirmatia ar fi FALSE - adevarul este exact contrariul. Iata cum gandeste o bucla - daca expresia este true,
continua. Daca este false, nu mai continua. Tinand cont de aceasta, sa privim operatorii (simboluri care
reprezinta o actiune) care sunt implicati in expresii booleene:
Operatori booleeni
<

mai mic

<= mai mic sau egal cu


>

mai mare

>= mai mare sau egal cu


!= nu este egal cu
http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

7/9

3.12.2014

E-learn.ro

!=

nu este egal cu

<> nu este egal cu (alternativ)


== egal cu
Nu confunda '=' cu '=='. Operatorul '=' efectueaza o atribuire (obiectul din stanga ia valoarea obiectului din
dreapta), in timp ce operatorul '==' verifica daca obiectul din stanga este egal cu cel din dreapta si returneaza
true or false.

Instructiuni conditionale
OK! Am acoperit (sper) buclele 'while'. Acum sa analizam ceva diferit - instructiunile conditionale.
Instructiunile conditionale reprezinta sectiuni de cod care sunt rulate daca sunt indeplinite anumite conditii.
Sunt similare buclei 'while' pe care tocmai ai scris-o, care ruleaza doar cand x nu este egal cu 0, cu diferenta ca
instructiunile conditionale sunt rulate doar o singura data. Cea mai intalnita instructiune de acest tip (in orice
limbaj de programare) este 'if'. Iata cum actioneaza:
if {conditii ce trebuiesc indeplinite }:
{executa asta}
{si asta}
{si asta}
{acest cod este executat oricum }
{pentru ca nu este indentat }
Iata si un exemplu:
#EXEMPLUL 1
y=1
if y == 1:
print "y este egal 1, doar verificam"
#EXEMPLUL 2
print "Vom afisa numerele pare pana la 20"
n=1
while n <= 20:
if n % 2 == 0:
print n
n=n+1
print "am terminat."
Exemplul 2 este putin mai complicat. Bucla while incrementeaza valoarea lui n de la 1 la 20, in timp ce
instructiunea if verifica daca n este par. Aminteste-ti ca operatorul % calculeaza restul impartirii. In acest caz,
daca este indeplinita conditia n % 2 = 0, inseamna ca n este par, deci valoarea lui va fi afisata.

'else' si 'elif' - Cand conditia nu este indeplinita


Sunt multe moduri in care poti utiliza instructiunea 'if'. Daca vrei sa specifici o actiune alternativa pentru cazul
in care conditia nu este indeplinita, poti utiliza else si elif.'else' spune pur si simplu computerului ca sa faca in
cazul in care conditia este false. De exemplu, citeste urmatoarele:
a=1
if a > 5:
print "Asta nu trebuie sa se intample."
else:
print "Asta trebuie sa se intample."
'a' nu este mai mare decat cinci, deci va fi executat codul din ramura 'else'
'elif' este doar o modalitate mai scurta de a spune 'else if'. De exemplu:
z=4
http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

8/9

3.12.2014

E-learn.ro

z=4
if z > 70:
print "Ceva rau s-a intamplat "
elif z < 7:
print "Asta e normal "
Instructiunea 'if' impreuna cu 'else' si 'elif' urmeaza acest tipar:
if {conditie 1}:
{executa acest cod}
elif {conditie 2}:
{executa acest cod}
elif {conditie 3}:
{executa acest cod}
else:
{executa acest cod}
'Ceea ce trebuie sa retii este ca poti avea oricate declaratii elif, dar o singura instructiune else, care trebuie
pusa la sfarsit.
Un alt lucru foarte important este ca trebuie sa inchei cu : (doua puncte) fiecare linie ce contine if, elif, else sau
while.

Indentarea codului
Indentarea codului este o practica intalnita in mai toate limbajele de programare, dar in Python este o
necesitate. Aceasta inseamna ca daca o bucla 'while' contine 5 linii de cod, trebuie sa pui un anumit numar de
spatii la inceputul fiecarei dintre cele cinci linii. Iata un exemplu:
a = 10
while a > 0:
print a
if a > 5:
print "a este mare!"
elif a % 2 != 0:
print "a este impar"
print "si mai mic sau egal decat 5"
else:
print "acest numar nu este mai mare decat 5"
print "si nu este impar"
a=a-1
print "am decrementat a cu o unitate"
print "daca este mai mare ca 0, repetam bucla"
print "se pare ca a nu este mai mare ca 0"
print "bucla s-a terminat!"
Observa cele trei nivele de indentare:
Fiecare linie din primul nivel incepe fara spatii. Este codul principal si va fi executat mereu.
Fiecare linie din cel de-al doilea nivel incepe cu patru spatii. Cand exista un 'if' sau o bucla la primul nivel,
tot ce se afla la al doilea nivel va fi considerat un singur bloc de cod, pana cand incepe o noua linie din
primul nivel.
Fiecare linie din cel de-al treilea nivel incepe cu 8 spatii. s.a.m.d
In afara de while, mai exista un tip de bucla denumita for, despre care vei putea citi in urmatoarele tutoriale.

Copyright 2008-2010 E-LEARN.ro. Toate drepturile rezervate. Conceput si realizat de Neokinetics Software.

http://www.e-learn.ro/printare-tutorial/python/introducere-in-python-partea-i/149/1/367.htm

9/9

Вам также может понравиться