Introducere Python
Introducere Python
Introducere Python
GOOGLE
"PYTHON HAS BEEN AN IMPORTANT PART OF
GOOGLE SINCE THE BEGINNING, AND REMAINS SO
AS THE SYSTEM GROWS AND EVOLVES. TODAY
DOZENS OF GOOGLE ENGINEERS USE PYTHON, AND
WE'RE LOOKING FOR MORE PEOPLE WITH SKILLS N
THIS LANGUAGE."
PETER NORVIG, DIRECTOR OF SEARCH QUALITY,
GOOGLE, INC.
Python este un limbaj de programare puternic, dar uor de folosit dezvoltat de Guido
van Rossum, primul lansat peste doua decenii n urm, n 1991. Python faciliteaz o
scriere rapida i poate fi folosit pentru i aplicaii comerciale, fiind cross-platform
(platform independent). Acest lucru permite rularea aceluiai program pe diferite
sisteme de operare. Deci acelai script python poate fi rulat pe sisteme de operare
precum Windows, DOS, Macintosh sau Linux.
Dar de ce am folosi python i nu alt limbaj de programare?
Unul dintre motive este ca Python este uor de folosit. Provocarea unui limbaj de
programare este formata din sintaxa limbajului. Cu cat sintaxa este mai aproape de
codul main, cu att este mai greu de nvat i de a gsi rspunsuri cnd
comportamentul nu este tocmai cel scontat.
Spre exemplu, programarea n limbajul C presupune un efort imens pt. gsirea unei
soluii la un comportament defectuos. Limbaje precum C, C++, C# sau Java sunt
considerate limbaje de nivel nalt, mult mai aproape ca sintaxa de codul main dect
de limbajul uman.
Dar Python are reguli clare i simple fiind foarte aproape de limbajul uman, declaranduse pe buna dreptate ca Python este definit ca programare la viteza gandului.
Python Curriculum
Python Curriculum
Python este considerat un limbaj interpretabil, spre deosebire de C care este un limbaj
compilabil.
Un limbaj compilabil este un limbaj care trebuie s compileze fiierele sursa n fiiere
care sunt foarte aproape de limbajul main. Din aceasta cauza, C este un limbaj foarte
rapid. Din pcate timpul de compilare este cteodat foarte mare. Spre exemplu pentru
un Router Avaya, compilarea fiierelor sursa ntr-o imagine executabila pentru router
din gama de top, dup o operaiune de comentare a unei linii poate dura i trei ore...
In mod normal limbajele interpretate sunt de cele mai multe ori mai lente dect cele
compilate. Totui, precum Java, Python este si un limbaj byte-compiled ,rezultnd o
forma intermediara mai aproape de main. Acest aspect face ca pythonul s fie un
limbaj rapid, dar s permit pstrarea tuturor avantajelor unui limbaj interpretabil.
Mai jos am adugat cteva lucruri impresionante legate de Python, in speta despre
aplicabilitatea Python in diferite zone ale IT-ului:
Python Curriculum
Python Curriculum
Fig. 1
Instalare
Python este disponibil pe site-ul oficial dar i pe alte site-uri de profil:
http://www.python.org
Dup cum se poate vedea n fig. 1, Python se poate gsi sub diferite forme. La ora
actuala exista doua versiuni. Versiunea 2.7 i versiunea 3.2.
Python pune la dispoziie adugarea de funcionalitate n plus prin instalarea de
module, module ce se gsesc n comunitatea python. Scopul este de a uura munca
programatorului.
Din pcate versiunea 3.2 vine cu mici schimbri incompatibile cu 2.7. Toate modulele
adiionale au fost dezvoltate n versiuni mai vechi. Unele din aceste module au fost
traduse, altele nu. Sunt module care nu au avut nevoie de o mapare, n funcie de
Python Curriculum
coninutul modulului. Exista un script numit 2to3 ce traduce codul din python 2.x in
python 3.x
De asemenea, ar trebui s inem cont c la apariia acestui limbaj de programare, toate
mainile ofereau o arhitectura pe 32 de bii. Acum situaia s-a schimbat, mainile ce au
o arhitectura pe 32 de bii devenind o raritate. Din pcate, unele module au fost create
doar pentru 32 de bii, neexistnd o tranziie a acestora pe 64 de bii. Pentru o
compatibilitate cat mai buna recomandam Python 2.7 pe 32 bii. Puteti accesa acest link
pentru a descarca python.
Fig. 2
Python Curriculum
Fig. 3
Python Curriculum
Python Curriculum
Python Curriculum
Pentru a iei din acest mod de lucru trebuie s tastai exit() apoi s apsai enter.
Fig. 4
In cazul n care dorii s avei mai multe instalari de Python n sistemul de operare
Windows va trebui s modificai sau adugai n variabilele de sistem i o variabila
numita Path ce indica unde este directorul sursa Python.
Iat o procedura cum putei face asta n cazul n care compania a achiziionat un
ActivePython cu module speciale, adaptate la nevoile companiei.
1.
2.
3.
4.
5.
Mai jos se poate regsi n Figura 5 un exemplu de modificare a variabilei de cale pentru
ActivePython.
Python Curriculum
Fig. 5
Tipuri de fiiere
In directorul sursa Python (exemplu C:\Python27) se regsesc doua fiiere executabile:
python.exe Programul Python ce ruleaz n modul consola. Acest lucru
determin apariia unei console pentru orice rulare a unui script python.
De multe ori acest lucru este benefic, mai ales daca scriptul nu creeaz interfee
grafice.
pythonw.exe Programul Python ce ruleaz n modul non-consola. Are rolul de
evita ferestrele urate de tip DOS cnd nu lucram cu input/output-ul standard.
Acest executabil este des utilizat la construirea de interfee grafice sau la
construirea de daemon-uri/servicii.
Cnd Python a fost instalat, a fost asociat cu anumite tipuri de fiiere, ce vor fi vzute n
Windows ca fiind executabile. Prin urmare daca dam dublu click pe unul din aceste
fiiere din cadrul Explorer-ului va avea ca urmare rularea acelui fiier. Aceste fiiere au
extensia py, .pyw, .pyc, .pyo.
10
Python Curriculum
11
Python Curriculum
Fig. 6
12
Python Curriculum
Putem s realizam acelai lucruri ca i n consola, avnd n plus suport pentru debug i
un meniu grafic cu toate facilitile de care avem nevoie. Aceasta fereastra se mai
numete i Python Shell. La command promt ( >>> ) introdu urmtoarea secvena:
print "Salut Python! Salut PRIETENI ! "
Interpretorul ne returneaz <<Salut Python! Salut PRIETENI ! >>. Acesta este primul
program, Probabil ai ghicit ce realizeaz aceasta comanda, i anume va afisa pe
ecran mesajul :Salut Python! Salut PRIETENI !
Din punct de vedere al limbajului programatorilor aceasta linie se numete statement i
este o instruciune completa. Aceasta instruciune este formata din doua parti. Prima
parte print este o comanda. Spune interpretorului s fac o aciune i ce aciune.
Python este sensibil la diferenele de litere mari sau mici. Deci print e diferit de Print
sau PRINT. Se poate vedea n Fig. 7 diferena dintre ele.
Fig. 7
Putem vedea ca Python IDLE recunoate cu uurina cuvintele cheie cum ar fi
comenzile; prin urmare n timp ce le scriem sintaxa va schimba culoarea n portocaliu.
Expresiile cum ar fi acest ir de caractere, pe care noi l-am printat anterior, sunt afiate
n verde.
Output-ul returnat de interpretor se regsete n culoarea albastra. ncet i cu practica
codurile culorilor vor fi nvate fr s va dai seama.
13
Python Curriculum
Fig. 8
14
Python Curriculum
Fig. 9
15
Python Curriculum
Fig. 10
Exista un cod de buna conduita n ceea ce privete partea superioara a unui curs. Astfel
primele trei linii ar trebui s reprezinte informaii despre program, ce rol are acest fiier
n cadrul programului, cine a lucrat la acest fiier, versiune i data ultimei editri.
Aceasta este doar o recomandare. Interpretorul nu va returna eroare daca nu intalneste
primele trei linii comentate.
# Salut Prieteni
# Demonstreaza comanda print
# Ion Studentul - 12/09/13 vers 6
n cazul n care rulam prin dublu click acest program, putem vedea doar o fereastr
neagr pentru o fraciune de secund, i asta datorita faptului c interpretorul Python va
rula codul, apoi va iei.
Pentru a putea vedea i rularea acestui cod vom aduga la final o linie cu statut special.
Acesta linie se regsete n general n toate programele python de tip non grafic i are
scopul de a opri rularea pana la apsarea tastei enter.
raw_input("Apasa <Enter> pentru a iesi.")
n acest mod putem vedea ce a rulat pana la ultima linie. Dupa ce utilizatorul apasa
enter , programul se va incheia.
16
Python Curriculum
Alegei va rog varianta standard (Eclipse IDE for Java developers) pentru sistemul de
operare de 32 de bii.
Dezarhivai fiierul ntr-o locaie cunoscuta cum ar fi C:\Program Files (x86)\Eclipse
Deschidei executabilul eclipse.exe (putei s facei un shortcut ctre desktop pentru a fi
mai uor de apelat).
Dup deschiderea programului acesta cere o cale ctre workspace, directorul unde va
salva toata munca. De preferat s alegei o cale pe o partiie separat de cea a
sistemului de operare pt. a va putea salva munca n caz de virusare sau corupere a
sistemului de operare.
17
Python Curriculum
Fig. 11
Odat instalat avem un Eclipse pe care nu l-am personalizat pentru python. Pentru a
instala programele de care avem nevoie n python apelai din meniu: Help>Install new
software. n Fig. 12 se poate vedea fereastra ce se deschide apelnd aceasta opiune.
Fig. 12
18
Python Curriculum
In celec ce urmeaza vom instala o librrie PyDev care devine disponibila daca accesam
prin intermediul Eclipse site-ul:
http://pydev.org/updates
Pentru a aduga un site (numit repository), va trebui s dm click pe butonul de Add,
apoi s completm site-ul http://pydev.org/updates la sectiunea site i un nume
sugestiv. Va trebui s alegem acest repository nou format din lista (pick-list-ul) pe care
o avem la dispoziie in stanga butonului Add (triunghul cu varful in jos). n cmpul type
test here putem s scriem PyDev. Vom avea la dispoziie doua opiuni: PyDev for
Eclipse i PyDev MyLyn Integration. Le vom selecta pe amndou aa cum se poate
vedea i n Fig. 13.
Fig. 13
Vom da click pe Next urmnd instruciunile de instalare i acceptnd condiiile n cazul
n care suntem de acord. Atenie! n cadrul instalrii exista i o atenionare (warning) pe
19
Python Curriculum
Fig. 14
Dup restart, vom putea crea proiecte Python. Crearea unui proiect se poate face
apelnd din meniu: File> New>Project.
Vom alege s cream un proiect de tipul PyDev aa cum este prezentat i n Fig. 15
Fig. 15
20
Python Curriculum
Fig. 16
21
Python Curriculum
Observam ca butonul de Next sau Finish nu este disponibil, iar n partea superioara a
ferestrei vedem i motivul: Project interpreter not specified. Acest warning se refera la
verificarea i alegerea unei versiuni de python din cele instalate. Pentru a rezolva acest
impediment, va trebui s apelam link-ul albastru ce se gsete la mijlocul ferestrei:
Please configure an interpreter n the related preferences before proceeding
Alegem autoconfig i vom da click ok la cutarea i adugarea interpretorului gsit.
Dup setarea interpretorului python vedem ca este disponibil i butonul de Finish.
Apsnd butonul de Finish vom fi ntrebai daca perspectiva vizuala ar trebui schimbata
cu cea a proiectelor PyDev. Vom apsa pe butonul de Yes.
Fig. 17
Din acest moment Eclipse cu Python este disponibil. Putem crea fiiere sau directoare,
putem rula i face operaiuni de debug.
22
Python Curriculum
Rularea unui program se poate face dand click dreapta pe acel fisier apoi alegand Run
As >> Python Run. In partea dreapta unde regasim tab-ul Console vom putea vedea
rularea acelui program.
Fig. 18
23
Python Curriculum
Fig. 1
Cum ai putut observa putem crea string-uri folosind ghilimele simple sau duble.
Astfel n primul statement de print vedem ca am utilizat la nceput ghilimele simple, apoi
ghilimele duble, dup care iari ghilimele simple. Regula este simpl: dac ncep cu
ghilimele simple s termin cu ghilimele simple. n acest caz ghilimelele duble for fi
tratate ca un caracter normal. n cazul n care folosesc ghilimele duble la nceput i la
final, ghilimelele simple vor fi tratate ca un caracter normal.
Fig. 2
24
Python Curriculum
Aa cum se poate vedea i n Fig. 2 putei utiliza cate ghilimele dorii n interiorul irului
de caractere att timp cat sunt diferite de ghilimelele de la nceput i final.
Daca aceasta regul nu este respectat interpretorul va genera erori.
Revenind la programul Reamintire meci.py gsim sintaxa print \ pe rndul al 7-lea. n
cazul n care au o sintaxa care se ntinde pe mai multe caractere, depind 80
caractere (in general limea unui ecran) , va deveni greu de citit pt. dezvoltatorii python
care au rolul s menin codul. Cu caracterul slash \ putem obliga interpretorul s
ignore enter-ul de dup caracter i s interpreteze liniile ca o singura sintaxa.
Mai jos regsim un exemplu n care caracterul slash mparte un citat pe mai multe linii
n afara i n interiorul irului de caractere.
Fig. 3
25
Python Curriculum
Fig. 4
Fig. 5
26
Python Curriculum
Fig. 6
27
Python Curriculum
Se poate vedea ca daca n cadrul unui string punem backslash i space avand acelai
efect ca atunci cand avem doua backslash-uri unul dup altul. Printarea unui backslash
n mod direct nu se poate efectua deoarece ar anula importanta data de ghilimele(fie
simple fie duble). Un alt aspect important al backslash-ului este c poate s ne ajute la
afiarea diferitelor tipuri de ghilimele, anulnd nsemntatea ghilimelei i transforma
ghilimeaua intr-un caracter normal. Din aceast cauza vedem c interpretorul va returna
o eroare de sintaxa care e similara cu eroarea data de sintaxa:
print Lipseste ultima ghilimea.
Totui n cadrul programului Informatii parola uitata putem afia adresele de e-mail ca
fiind ncadrate n ghilimele fr ca interpretorul s returneze o eroare.
Secvena de evadare \n are scopul de a introduce enter linie noua (new line) dup
acest caracter. Mai jos avem o figur n care se poate regsi un echivalent al acestei
secvene de evadare.
Fig. 7
Aa cum ne indica i Fig. 7 putem s utilizam i alte metode de a afia o noua linie, dar
metoda secvenei de evadare /n este ce mai uor de identificat n cod.
In sectiunea urmatoare vom discuta despre repetarea i concatenarea sirurilor.
Vi s-a ntmplat s auzii anumite discuii despre educaie n cadrul colilor, cum ar fi
metodele de nvmnt ce folosesc pedeapsa i rsplata. Una din metodele preferate
de pedagogi este pedepsirea prin scrierea repetitiva a unui ir de caractere ce are o
nsemntate deosebita. Un exemplu ar fi: Promit s nu mai fur mncare la colegi.
Daca am folosi python i am dori s scriem un ir de caractere de mai multe ori am
putea utiliza chiar semnul nmulirii, operatie numita repetare. Dar n cazul n care am
28
Python Curriculum
dori s unim mai multe iruri de caractere? Soluia se regsete n programul de mai
jos:
Fig. 8
29
Python Curriculum
Fig. 9
Lucrul cu numere
In urmatorul program vedem cum putem s utilizam numerele i s efectuam operaii
numerice.
# Lucrul cu numere
# Demonstreaza lucrul cu numere
# Ion Studentul 1/11/13
print "\n\tTema matematica clasa a 4a\n"
print "Rezolva adunarea: 2+2"
print 2+2
print \
"""\nCat canteste o balena de 2000 kg care a nascut un pui de 100 kg."""
print "2000 - 100 = ",
print 2000 - 100
print "\nRezolva imnultirea 333*3? Raspunsul corect este", 333*3,"! "
print "24 / 6 = ",
print 24 / 6 ,
print "(impartire)\n"
print "107 % 4 = ",
print 107 % 4, "Aceasta operatie se numeste modulo!\n"
print \
"""Operatia matematica de mai jos aplica impartirea cu rest!"""
print "19 / 4 = ",
print 19 / 4
30
Python Curriculum
print "Gresit!"
print "Raspunusl corect este :",19.0 / 4
print "\nOperatie mateamatica complexa1: [(2+2)*3]/4 =" ,((2+2)*3)/4,"\n"
print "Operatie mateamatica complexa2: 2*2*2*2 =" ,2 ** 4,"\n"
raw_input("\n\nApasa <enter> pt a iesi.")
###########################################################################
Fig. 10
In Fig.10 se poate observa rularea programului Lucrul cu numere.
S vedem ce elemente noi avem n acest program.
In primul rnd Python poate realiza toate operaiile matematice elementare cu foarte
mare uurina. Acestea se pot apela n mod direct prin comenzi de genul :
print 2+2
Un alt element cheie n afiarea diferitelor tipuri de date este virgula ,. Virgula permite
afiarea diferitelor structuri de date sub aceeai sintaxa, cum ar fi numerele i irurile de
31
Python Curriculum
caractere. Cum acestea nu se pot concatena singura posibilitate ar fi virgula care face
ca interpretorul s ia fiecare element n parte din acea sintaxa i s apeleze separat
comanda print, apoi s uneasc outputul fiecrei comenzi, aa cum se poate vedea i
n Fig. 11.
Fig. 11
Virgula mai permite i unirea a mai multe linii pe o singura linie:
print "2000 - 100
print 2000 - 100
= ",
Cele doua sintaxe de mai sus vor fi afiate sub aceeai linie datorita virgulei ce se
regsete la finalul primei sintaxe. Se poate observa c comanda print exista si pe
urmatoarea linie. Prin urmare extinderea comenzii care era valid prin utilizarea
backslash-ului nu se aplic i aici datorita repetarii cuvantului cheie print. Deci aplicarea
celor doua linii de mai jos va genera eroare:
print "2000 - 100
print 2000 - 100
= "\
32
Python Curriculum
Fig. 12
Orice operaie matematic am realiza n python, unde unul din numere este float,
rezultatul va fi float.
In python exist i notiunea de numere complexe. Un exemplu de numr complex ar fi :
2+2i. Datorita faptului ca n America se folosete litera <<j>> n loc de <<i>> pentru a
identifica partea complexa a unui numr complex, aa vom regsi i noi numerele
complexe n python.
33
Python Curriculum
Fig. 13
Variabile
Cu ajutorul variabilelor informaia poate fi stocat i manipulat, un aspect fundamental
n programare. Python permite crearea i manipularea de variabile. Dar care ar fi
motivul pentru care am avea nevoie de variabile? Cel mai bun motiv este flexibilitatea
de a schimba o anumita variabila aa cum se poate vedea n programul urmtor.
# Stefan Cel Mare
# Demonstreaza lucrul cu variabile
# Ion Studentul 1/11/13
34
Python Curriculum
Fig. 14
Prin urmare, variabila s va stoca irul de caractere Stefan cel Mare . Apoi de fiecare
dat cnd apelam variabila s putem utiliza coninutul (ce stocheaza) variabilei s.
Adiional putem s folosim variabila s pentru a crea noi variabile cum ar fi crearea
variabilei <<st>> din exemplu de mai jos. Ce credei c o s afieze printarea variabilei
<<st>>?
# Stefan cel Mare
# Demonstreaza lucrul cu variabile
# Ion Studentul 1/11/13
35
Python Curriculum
Fig. 15
Numele variabilei nu a fost ales ntmpltor. Daca stm s ne gndim la un program
mic aceasta variabila nu ar ncurca dezvoltatorul aplicaiei, dar n cazul n care
programul este mare devine suficient de dificil s ne amintim ce stocheaz variabila s,
neavnd un nume sugestiv. Dar ce nume ar putea lua o variabila ?
O variabil poate fi formata din litere, numere i underscore _ . Primul caracter din
numele unei variabile poate fi doar o liter sau underscore. Variabilele ce ncep cu
underscore au alta nsemntate fiind folosite n programarea orientat pe obiecte .
Ceea ce nseamn ca numele variabilei ar trebui s nceap cu o liter, de obicei o
litera mic, literele mari sunt definite pentru funcii. Trebuie ales un nume sugestiv care
s indice ce conine variabila.
Spre exemplu variabila s ar trebui denumita stefanMare iar variabila st stefan_Sfant.
Prin aceste doua exemple vreau s subliniez ca exista doua stiluri de a crea variabile:
Primul stil este cel n care alternezi literele mici cu cele mari pentru a despari cuvintele,
iar cel de-al doilea stil se regsete prin separarea cuvintelor prin underscore. Fiecare
programator va trebui sa-si identifice propriul stil. E bine s existe o consistent a
variabilelor pentru a fi uor de citit codul.
In mod uzual o variabila globala (valida pentru tot programul i accesabila n fiecare
ramura a programului) va fi declarata la nceputul programului, imediat dup
comentariile ce descriu programul.
36
Python Curriculum
Fig. 16
37
Python Curriculum
Fig. 17
Ce introduce user-ul ar trebui verificat de cele mai multe ori. Spre exemplu ne ateptm
ca userul s introduc un numr . Acest lucru trebuie verificat. Acesta este urmtorul
lucru pe care l vom studia i anume manipularea de variabile de tip sir de caractere.
Fig . 18
Asa cum se poate observa in Fig.18 pot aplica o metoda de manipulare direct unui sir
de caractere sau unei variabile ce stocheaza un sir de caractere. Metoda de manipulare
upper() returneaza toate caracterele de tip litera cu litera mare, pe cand metoda de
manipulare lower() va returna un sir de caractere cu litera mica.
38
Python Curriculum
Un alt aspect important intalnit in programul urmator este introducerea variabilei de tip
boolean ce poate avea doar doua stri: True i False. Aceste stri se regsesc n
culoarea albastr i trebuie scrise ca atare (True sau False) fiind sensibile la diferente
de caractere mici sau mari (eng.case sensitive) dac le declaram manual.
Explicarea acestor metode dar si a variabilei de tip boolean o vom face pe baza unui
exemplu ce se regaseste in sectiunea urmatoare:
39
Python Curriculum
Fig. 19
40
Python Curriculum
Sa analizam un pic cele patru linii de mai jos extrase din program:
print "\nCu o mica schimbare:"
print citat.replace("five", "millions of")
print "\nCitatul original este inca :"
print citat
Char daca am aplicat metoda de manipulare .replace(), vedem ca variabila citat nu s-a
modificat deoarece valoarea ce rezulta din acesta expresie a fost doar afiata, nefiind
atribuita unei variabile care sa stocheze noau informatie. Daca ne doream s schimbam
variabila citat ar fi trebuit s avem o sintaxa de genul:
citat = citat.replace("five", "millions of")
Reamintim ca variabila de tip boolean ce poate avea doar doua stri: True i False.
Aceste stri se regsesc n culoarea albastr i trebuie scrise ca atare (True sau False)
fiind sensibile la diferente de caractere mici sau mari (eng.case sensitive) dac le
declaram manual. Metodele de manipulare a sirurilor .isdigit(), .isalpha() , islower()
.isupper(), .isspace(), isalnum(), .istitle() returneaza o variabila boolean.
Sintaxa citat.isdigit() va returna True daca toate caracterele sunt formate doar din
numere, i False daca cel puin un caracter este diferit de un numr. Similar va fi
rezultatul sintaxei citat.isalpha(), diferena o consta n faptul c verificarea o va face
pentru caratere alpha.(litere). Spatiul este considerat un caracter ce nu este numar sau
litera. Prin urmare un sir de caractere ce va avea stocat o propozitie cu spatiu sau
semne de punctuatie va returna False la verificarea sirului cu ajutorul metodei de
manipulare .isalpha().
Deci ambele vor trebui s returneze False deoarece irul nu este format doar din
numere i nu este format doar din litere (deoarece are spaiu i . ).
Astfel Programul propune s nlocuim caracterul spaiu cu nimic(deci tergere) i
caracterul punct cu nimic(deci tergere).
citat_modificat= citat.replace(" ","")
citat_modificat= citat.replace(".","")
Din pcate ceva nu merge bine deoarece variabila citat_modificat rezulta tot False.
Care credei c este greeala?
Pai citat_modificat este rezultatul aplicarii metodei de manipulare replace() pe baza
sirului original ce nseamn ca va rmne doar ultima forma de inlocuire. Astfel, pentru
a funciona, trebuie s modificam n a doua sintaxa variabila cruia i se va aplica
metoda replice din citat n citat_modificat, variabila ce a fost modificata anterior
nlocuindu-se spaiu cu punct. n forma actuala rezultatul afirii cu ajutorul comenzii
print a variabilei modificat este:
41
Python Curriculum
Similar i n cazul n care folosim metoda variabila.isdigit(); va returna True doar dac
toate caracterele irului de caractere memorat de variabila este format exclusiv din
numere.
Mai jos regasim alte metode de manipulare a sirurilor:
.islower() - verifica daca toate caracterele sirului de tip litera sunt mici; ignora alte
caractere neafectand rezultatul returnat
.isupper() - verifica daca toate caracterele sirului de tip litera sunt mari; ignora alte
caractere neafectand rezultatul returnat
.isspace() - verifica daca toate caracterele sirului sunt de tip space exclusiv. Orice alt
caracter exceptand space ce face parte din sir va genera un False.
.isalnum() - verifica daca toate caracterele sirului sunt de tip litera sau numar exclusiv.
Orice alt caracter exceptand litera sau numar ce face parte din sir va genera un False.
.istitle() - verifica daca toate cuvintele sirului incep cu litere mari; ignora alte caractere
neafectand rezultatul returnat
Deci, avem metode prin care putem sa demonstram ce am captat de la utilizator
verificand daca acel sir de caractere este explicit ceea ce noi cautam. Totui nu putem
s facem operaii matematice deoarece este un ir de caractere. Prin urmare avem
nevoie de conversie.
Din pcate, dac noi capturam caractere de la tastatura, e greu sa coninutul variabilei
folosite ca parametru, dar depinde de noi s verificm existenta irului de caractere
nainte de a fi convertit.
Pentru a converti un ir de caractere n numere va trebui s folosim una din funciile ce
se regsesc n sintaxele de mai jos:
42
Python Curriculum
Fig. 20
Sa discutam un pic despre sintaxele din IDLE ce se regsesc n Fig. 20.
Primul pas este s definim o variabila de tip ir de caractere. Aceasta poate fi convertita
ntr-o valoare float apelnd comanda float. Aceasta ia ca i parametru(argument) o
variabila de tip string sau integer. Un parametru este o valoare ce o punem intre
parantezele unei comenzi, iar comenzile se numesc de fapt funcii. Funciile le putem
defini noi, dar exista i funcii standard.
O alta funcie de conversie este str(x) unde x este o variabila ce susine un numr
(integer sau float).
Avem la dispoziie i funcia int(x) unde x este o variabil ce susine un ir de caractere.
Dar ce se ntmpl daca parametru de intrare nu respect regulile. Aa cum se poate
vedea n Fig. 21 , funcia float i funcia int sunt sensibile la un parametru ce este un ir
de caractere format din caractere non-numerice. n acest caz interpretorul va returna o
eroare indicnd ce e greit la aceast sintaxa.
Conversia unui numr float n float sau a unui numr integer n integer nu returneaz o
eroare, dar nu are nici un sens nici utilizarea acestei transformari.
Tot n Fig. 21 putem vedea ca funcia str() nu returneaz eroare n nici unul din cazuri.
43
Python Curriculum
Fig. 21
44