Sunteți pe pagina 1din 19

INTRODUCERE Python este un limbaj de programare ini ial creat de olandezul Guido van Rossum n 1989 i dezvoltat n continuu

de atunci. Este foarte folosit n prezent pentru sintaxa uoar i posibilitatea de a crea aplica ii complicate n pu ine linii de cod. Python este un limbaj interpretat, asta nseamn c vom scrie codul surs intr-un editor de text, ex. notepad, dup care vom intra in linia de comand i vom scrie > python FisierSursa.py . python sau python.exe(pentru Windows) este interpretorul, un fiier surs python are extensia .py. Este de asemenea un limbaj dinamic i are management de memorie automatizat(garbage collecting), asta nseamn c putem declara variabilele fr a le specifica tipul, interpretorul se ocup cu stabilirea tipului i de asemenea nu trebuie s ne ocupm cu eliberarea memoriei cnd nu mai avem nevoie de o variabil, interpretorul dealoc spa iul ocupat de acea variabil cnd nu mai e nici o referire la ea. Un dezavantaj la acest lucru este faptul c nu exist operator cast, nu putem s schimbm tipul variabilei, cu excep ia trecerii de la integer la float. Paradigmele abordate de limbaj sunt: imperativ, orientare spre obiecte i func ional. Blocurile de cod se delimiteaz prin indentri. Nu vom mai folosi {} sau begin ... end; ca in alte limbaje de programare. C++ Python .....cod..... ....cod... for(i=0; i<3; i++) for i in [0, 1, 2]: { instructiunea1 instructiunea1; instructiunea2 instructiunea 2; ....cod... } .....cod.... Punctul i virgula de la finalul instruc iunilor sunt op ionale. Alte tipuri de date sunt tuplurile i dic ionarele. Tuplurile sunt liste care au un numr prestabilit de elemente i nu pot fi modificate par ial. Se utilizeaz cnd este nevoie de o anumit structur de date specializat. Dic ionarele sunt liste neordonate in care fiecare element are asociat o cheie, care poate fi un numr sau ir de caractere.

LIMBAJUL DE PROGRAMARE PYTHON ---Instruc iuni Utile--Vol. 1 OpenBooklet padre_cosmin

Python este un limbaj case sensitive ave i grij la minuscule i majuscule

n urma instalrii aplica iilor de dezvoltare python, vom avea un folder numit Pythonxx (xx reprezint versiunea eu am versiunea 3.1 directorul de pe calculatorul meu se numete Python31). Aici pot gsi interpretorul python.exe, folderul include cu biblioteci .h(asemntoare fiierelor header pentru compilatoarele C/C++), folderul Lib cu diverse librrii ce pot fi importate in programele pe care le crem, folderul Doc cu un fiier documenta ie, etc. Alte biblioteci pe care le putem descrca de pe net sunt: - NumPy func ii pentru calcule numerice - SciPy rutine specifice pentru rezolvarea de ecua ii, integrale, ecua ii diferen iale - PyGame pentru desvoltarea de interfe e grafice i evenimente - PIL(Pithon Image Library) pentru manipularea i procesarea de imagini - Biopython utilitar pentru citirea fiierelor utlilizate n Bioinformatic

PRIMUL PROGRAM PrimulProgram.py File | Edit | View | Help import msvcrt #acesta este un comentariu """ acesta e un comentariu pe mai multe rnduri """ ''' acesta e tot un comentariu pe mai multe rnduri ''' a = 3; #am atribuit variabilei a val. 3 print (1 + 2 \ + 3) print ('Salut Planeta') print ("Salut 'Planeta' ") print ('Salut "Planeta" ') print ("Salut \ Planeta") print (""" Salut Planeta """) ch = msvcrt.getch() Salvm fiierul cu extensia .py

Deschidem consola, cmd.exe sau terminalul i scriem python PrimulProgram.py $ python PrimulProgram.py Observa ii: 0) Pentru a putea folosi comenzile de mai sus trebuie s ave i calea ctre interpretorul python salvat in variabila environment PATH. n Windows PATH con ine o niruire de ci despr ite prin ; i se acceseaz din Start->ControlPanel->System->Advanced->Environment Variables->System Variables i cutm variabila Path, apsm butonul Edit i adugm noua cale dup ce am pus ; dup ultima din coad 1) Programul scris pe pagina anterioar nu va merge dect pentru Windows. De ce: Echivalentul lui getch() n python:

Windows import msvcrt ........ ch = msvcrt.getch()

Unix
import sys, tty, termios fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1)

2) Comentariile pe o linie se scriu dup caracterul # Comentariile pe mai multe linii se ncadreaz intre """.....""" sau '''...''' 3) bibliotecile se introduc cu instruc iunea import 4) ; - punct i virgula dup liniile de instruc iuni e optional 5) Dac dorim continuarea unei linii de cod pe linia urmtoare folosim caracterul \ print (``Salut\ Planeta``) 6) import time time.sleep(nr_sec) #func ia de pauz, nr_sec poate avea zecimale

INTRRI DE LA CONSOL row_input() #versiuni mai vechi de Python input() #de la versiunea Python 3.1 sir = row_input("Introduceti sir de char: ") nr = int(row_input("Introduceti numar = ")) nrFloat = float(input("Indtroduceti nr float= ")) IEIREA LA CONSOL IN PYTHON Se face cu func ia print. print afieaz mesajul sau valoarea variabilei i trece la linie nou. print"..." #pentru versiunei mai vechi de Python print("...") #ncepnd cu versiunea Python 3.1 print ("Salut Planeta") a=3 print (a) print ("Salut Planeta") Pentru a afia mai multe lucruri pe acelai rnd cu instruc iuni print consecutive punem virgul dup print-ul anterior print ("Ana avea",) print (varsta,) print ("cand a fost la mare") print ("Ana are ",14,"ani") Instruc iunea sys.stdout.write import sys sys.stdout.write("Salut ") sys.stdout.write("Planeta") #nu mai trece la linie nou

IEIRE FORMATAT Ieirea pe un anumit numr de caractere print(repr(x).rjust(nr)) repr(...) genereaz o reprezentarecare este citit doar de interpretor, inutil atunci cnd obiectule este un string str, atunci merge sir.rjust(...) rjust(nr) folosete la afiarea reprezentrii pe un numr de caractere, dac reprezentarea propriu-zis are mai putine caractere, atunci se completeaz cu caractere n fa a ei for i in range(1, 10): print(repr(i).rjust(2), repr(i*i).rjust(3)) echivalent cu: for i in range(1, 10): print('{0:2d} {1:3d}'.format(i, i*i)) ieirea:
1 2 3 4 5 6 7 8 9 1 4 9 16 25 36 49 64 81

.zfill() n loc de spa ii albe ca rjust(), adaug zerouri `12`.zfill(5) returneaaz `00012` .ljust(), center() print(`{0} are {1}`.format(`Ana`, `mere`)) #pune Ana n loc de {0} i mere n loc de {1} print(`Numarul PI = {0:.3f}`.format(math.pi)) #afieaz numrul pi cu 3 zecimale CARACTERE EXCAPE Caracter Nume Exemplu \ apostrof print(`Don\t say that) \ ghilimele \\ Backspace \n linie nou print(`O linie\nAdoua linie`) \r return de car \t tab \b backspace \uxxxx unicode pe 16b \Uxxxxxxxx unicode pe 32b

ALTE FUNC II DE LUCRU CU CONSOLA SI SISTEMUL DE OPERARE: import os os.system(`comanda_DOS_sau_UNIX`) Cur irea consolei: Windows import os
os.system(cls)

Unix import os os.system('clear')

Alte componente ale serviciului os os.name returneaz `posix`, `nt`, `os2`, `ce`, `java`, `riscos` func ie de platforma pe care ruleaz python os.getpid() returneaz pid-ul curent os.getenv(numevar[valoare]) returneaz valoarea variabilei de sistem dac aceasta exist. Dac variabila nu exist value este none os.putenv(numevar, valoare) seteaz valoarea variabilei de sistem numevar la valoarea value. Afecteaz subprocesele startate cu os.system(), popen(), fork() sau execv() os.umask(mask) seteaz masca i returneaz masca anterioar os.unsetenv(numevar) terge variabila numevar os.fdopen(fd[,mod[,bufsize]]) returneaz un obiect conectat la descriptorul de fiier fd. mode i bufsize corespund argumentelor func iei open() os.popen(command[,mod,[,bufsize]]) deschide un canal pipe ctre sau dinspre command. Returneaz un obiect conectat la pipe. Dac e de scriere sau citire depinde de mod = `r` - citire, `w` - scriere os.close(fd) nchide un un descriptor fd os.fchmod(fd, mode) pe Unix, schimb priorit ile de acces ale fd la modul numeric mode. os.fchown(fd, uid, gid) schimb proprietarul i grupul pentru fisierul dat de fd la valorile numerice uid, gid. Pentru a lasa uid sau gid nemodificate, se pune in dreptul lor valoarea -1

VARIABILE TIPURI DE VARIABILE Dei nu trebuie neaprat declarat tipul unei variabile, n Python exist 10 tipuri de variabile. tip descriere exemplu str secven nemutabil de caractere. sir = `Salut Planeta` n Python2 str sunt caractere, sir2 = `Salut Planeta` irurile Unicode trebuiau predecate print("""Ana de litera u, n Python3 irurile sunt are Unicode implicit mere""") bytes secven nemutabil de bytes bniste caractere ASCII b"CaractereASCII" [4.0,'string',True] list mutabil, nu pot fi mixate tipuri tuple mutabil, poate con ine mixuri de (4.0,`string`,True) tipuri set neordonate, nu con ine duplicatii. {4.0, `string`, True} Este nemutabil frozenset ([4.0, `string`], True) dict grup mutabil de chei i valori {`keie`: 1, 123: False} ataate int intreg nemutabil de lungime 2345 variabil float valoare n virgul mobil de 2.71 precizie fix complex numr complex 2+3.5j bool con ine o valoare de adevr True, False Operatorul CAST Numeric ir de Caractere a = 123 sir = str(a) a2 = int(sir) a3 = float(sir) print("a= ", a, "| sir: ", sir, "| a2= ", a2, "| a3= ", a3) Rezultatul este:
a= 123 | sir: 123 | a2= 123 | a3= 123.0

Bool ir de Caractere a = True sir = str(a) a2 = bool(a) print("| a= ", a, "| sir= ", sir, "| a2= ", a2)
| a= True | sir= True | a2= True

ALTE OBSERVA II: Toate variabilele sunt obiecte. - dou variabile nu pot avea acelai nume, dac folosim un nume dat pentru o variabil pentru a nscrie n ea alt tip de dat, prima variabil se pierde i se creeaz o alt variabil care accept acel tip de dat - se pot utiliza asignrile multiple a=b=c=3 - alt form de asignare multipl a,b,c = 1, 2, ``sir de car`` #lui a i se d 1, lui b valoarea 2, lui c valoarea ``sir de car`` - tergerea unei variabile del numevar #memoria e dealocat, variabila nu mai poate fi folosit - valorile hexazecimale sunt precedate de prefixul 0x 0x123A3 - valorile octale sunt precedate de prefixul 0o 0o3452 - type(var) #returneaz tipul variabilei trimise ca param. - id(var) #returneaz identificatorul numeric al variabilei - is compar identitatea a dou obiecte OPERA II Opera ii aritmetice Operator Descriere + adunare scadere / mpr ire // mpr ire ntreag * nmul ire % modulo ** putere Operatori de compara ie Operator Descriere > mai mare < mai mic >= mai mare sau egal <= mai mic sau egal == testarea egalit ii != diferit

Exemplu a = 1+2 a = 1-3 a = 2/3 a = 4//2 a = 3*2 a = 4%2 a = 2**3 Exemplu i<100 i>200 i>=210 i<=a a == b a != c

Operatori logici Operator Descriere Exemplu not negare logic not b and i logic (i<=100)and(c==True) or sau logic (i<100)or(f>100) Operatori pe biti Operator Descriere Exemplu ~ Complement ~b << shiftare stnga b<<1 >> shiftare dreapta b>>1 & i pe bi i b&0x02 ^ sau exclusiv pe bi i b^0x02 | sau pe biti b | 0x02 TIPUL int, long, float n versiunile mai vechi existau dou tipuri integer. int era limitat la 32 de bi i, ex.: a = 123, b = int(``234``) long era limitat la ct poate duce memoria se forma prin sufixul L plasat la captul valorii date unei variabile a = 123456789L b = long(``987654321``) Long nu mai apare n Python3.1 i int a preluat propriet ile acestuia. Float este echivalent tipului double din C i are precizie fixat a=3 a = a/4 # interpretorul face singur conversia, a devine var float Cu variabilele ntregi se pot face opera ii aritmetice, de comparare, pe bi i. TIPUL complex Variabilele definite complex con in valori complexe(formate din parte real i parte imaginar). Unitatea imaginar este notat j a = 12+21j b = complex(``2+3j``) TIPUL bytes Con ine o niruire de octe i a = bAbracadabra b = bA0BC23eFXsWG print(a) #afieaz toat niruirea de octe i print(a[3])#afiseaza valoarea ASCII a caracterului de pe pozi ia 3, #primul caracter, cel mai din stnga, are indicele 0 a[4]=D #va da eroare, nu putem s mai schimbm ceva n a
TypeError: 'bytes' object does not support item assignment

CLASA MATH i func iile con inute de aceasta: import math #pentru numere reale import cmath #pentru numere complexe Func iile de mai jos au dou echivalente, math.functie() pentru numere reale, cmath.functie()- pentru numere complexe math.ceil(x) - returneaz cea mai mica valoare intreag mai mare dect x(aproximare n adaus) math.copysign(x, y) returneaz x cu semnul lui y math.fabs(x) returneaz modulul lui x math.factorial(x) x factorial sau ValueError dac x este ntreg sau negativ math.floor(x) returneaz valoarea ntreag a lui x math.fmod(x, y) returneaz modul ntre x i y, x%y math.frexp(x) returneaz mantisa i exponentul lui x ca pereche (m,e) x = m*2**e math.fsum(iterable) returneaz o sum n virgul mobil a valorilor din parametrul iterabil. math.isinf(x) cerceteaz dac x este infinit negativ sau pozitiv math.isnan(x) cerceteaz dac x este NaN(not a number) math.ldexp(x, i) - returneaz x*(2**i) math.modf(x) returneaz partea frac ionar i cea ntreag a pr ii lui x math.trunc(x) returneaz partea real a lui x trunchiata la ntreg Puteri i logaritmi: math.exp(x) returneaz e**x math.expm1(x) returneaz e**x-1 adic math.exp(x)-1 math.log(x[,baza]) returneaz logaritm natural din x daca nu specificm nicio baz. Cu dou argumente, baza ia valori ntregi, se returneaz ln(x)/ln(baza) math.log1p(x) returneaz ln(1+x), baza = e math.log10(x) returneaz lg(x), baza = 10 math.pow(x, y) returneaz x**y, ( x la puterea y) math.sqrt(x) returneaz radical din x, x

Func ii trigonometrice: math.acos(x) returneaz arccosinus(x) n radiani math.asin(x) returneaz arcsinus(x) n radiani math.atan(x) returneaz arctangent(x) n radiani math.atan2(y, x) returneaz atan(y/x) n radiani math.cos(x) returneaz cosinus(x) n radiani math.sin(x) returneaz sinus de x, x n radiani math.tan(x) returneaz tangenta de x, x n radiani math.acosh(x) returneaz inversa cosinusului hiperbolic math.asinh(x) returneaz inversa sinusului hiperbolica math.atanh(x) returneaz inversa tangentei hiperbolice math.cosh(x) returneaz cosinus hiperbolic de x math.sinh(x) returneaz sinus hiperbolic de x math.tanh(x) returneaz tangenta hiperbolica a lui x math.hypot(x, y) returneaz norma euclidian,

x* x + y* y

Conversii ntre unghiuri: math.degrees(x) convertete unghiul x din radiani n grade math.radians(x) convertete unghiul x din grade n radiani Functii speciale: math.erf(x) returneaz func ia la x math.erfc(x) returneaz func ia complementar eroare la x math.gamma(x) returneaz func ia gamma la x math.lgamma(x) returneaz logaritm natural de valoare absolut a ceea ce returneaz func ia Gamma Numere aleatoare import random seek() returneaz generatorul de numere aleatoare random(a, b) returneaz a<=N<=b random() returneaz nr random ntre 0.0 i 1.0 Constante: math.pi = 3.14159265359 math.e = 2.71828182846 (constanta lui Euler)

IRURI DE CARACTERE Stringurile sunt imutabile, elementele unui string nu pot fi modificate. Sunt vectori de caractere, indicele vectorului pornete de la 0(zero). Func ia len(sir) returneaz lungimea irului de caractere primit ca parametru, numrul de caractere Concatenarea irurilor de caractere se face cu operatorul + irurile se pot compara cu operatorii ==,>,<, >=, <=, != sir = ``Ana ``+ ``are mere`` sir2 = `Mara are pere` sir3 = ``` Ana are mere``` #se re in i caracterele newline sir4 = sir * 3 #pune n sir4 irul sir multiplicat de 3 ori Accesarea unui element din ir print(sir[2]) #returneaz al 3-lea element din ir, idnexarea se face de la elementul cel mai din stnga ncepnd cu indexul 0 sir[4] = `A` #ERROARE nu putem modifica nregistrrile dintr-un ir, irurile de caractere sunt imutabile sir = `Ana nu are mere` #putem ns asigna cu totul o alt nregistrare irului, practic variabila sir ini ial se terge i se creeaz alta nou cu o nou nregistrare sir[:nr] acceseaz nr elemente de la nceputul irului,practic afieaz toate elementele din ir pn la indexul nr-1 print(sir[:2]) va genera An sir[index:] acceseaz toate elementele ncepnd cu index pn la captul irului sir[i1:i2] acceseaz toate elementele ncepnd cu indexul i1 i terminnd cu indexul i2-1 sir[::i] acceseaz toate elementele de pe indexurile care se divid cu i Observa ii: sir[-2:] sir[-2::] acceseaz 2 elemente de la captul irului, n cazul acesta re din cuvntul mere sir[:-3] acceseaz toate elementele din ir mai pu in ultimele 3 (Ana are m) sir[::-2] acceseaz toate elementele din ir care se divid cu 2 dar parcurge irul de la coad spre capt print(sir1==sir2) #returneaz valoarea de adevr(True sau False) a compara iei ntre iruri

Nu putem schimba elementul un singur element ntr-un ir de caractere(sir[2]=B #eroare) dar putem crea un nou ir cu acelai nume i s punem pe pozi ia unde dorim un alt element: sir = ``Ana are mere`` sir = sir[:4] + ``nu are `` + sir[8:] #prima variabil sir se distruge i se creeaz alta cu noul con inut dorit de noi LISTE: - sunt mutabile, elementele pot fi modificate; - pot con ine elemente de diferite tipuri - len(lista) returneaz lungimea listei - indicii pornesc de la valoarea 0(zero), elementele avnd indicii 0-:len(lista)-1 - lista[0:len(lista)] con ine lista cu elemente de la 0 la len(lista)-1 lista = [`Ana`, 234, `mere`, 3.4, [23, `abecedar`]] Accesarea unui element din list se poate face: lista[indice] ex: print(lista[1]) #va returna 234 List de liste: lista2 = [[1, 3, 5], [`A`, 2, `C`]] Accesarea unui element dintr-o list de liste se face: lista[i1][i2] #acceseaz elementul de pe linia i1, coloana i2 conteaz ca elementul respectiv s existe print(lista2[1][2]) #va returna valoarea C print(lista2[1]) #va returna [`A`, 2, `C`] lista3 = [[1, 3, 5], ['A', 2, 'C'], "abracadabra"] print(lista3[2]) #returneaz abracadabra print(lista3[2][1]) #returneaz `b` Listele sunt mutabile deci: lista[1] = `Mara` lista va deveni lista = [`Ana`, `Mara`, `mere`, 3.4, [23, `abecedar`]] lista[4][1] = lista[4][1][:3] + `X`+ lista[4][1][4:] lista va deveni lista = [`Ana`, `Mara`, `mere`, 3.4, [23, `abeXedar`]] # irurile de caractere sunt in continuare imuabile chiar dac fac parte ditr-o list

lista4 = lista[0]*3 # lista4 = AnaAnaAna lista5 = lista[3] * 3 #lista4 = 3.4 * 3 = 10.2 lista6 = lista[4]*2 #lista6 = [23, 'abecedar', 23, 'abecedar'] Lista cu un singur element i acela 0(zero) m = [[0]] n = m * 2 #n = [[0], [0]] Concatenarea listelor: Se face cu operatorul + lista5 = lista + lista2 #lista5 = ['Ana', 234, 'mere', 3.4, [23, 'abecedar'], [1, 3, 5], ['A', 2, 'C']] Accesare avansat a elementelor unei liste lista[indice] #acceseaz elementul cu indicele specificat lista[i1:i2] #accesarea elementelor de la i1 la i2-1 lista[i:] #afieaz elementele ncepnd de la al i-lea pn la capt lista[:i] #afieaz elementele de la primul la al i-lea-1 lista[::i] #afieaz elementele ale cror indice se divide cu i Func ii membru lista.append(element) #adaug elementul specificat la list lista2.append(`branza`) #lista2 devine lista2 = [[1, 3, 5], [`A`, 2, `C`], `branza`] lista.extend(lista) #adaug elemente din lista specificat ca param lista.insert(index, element) #pune element n list pe indexul specificat lista.remove(index) #elimin element din list, lungimea listei scade list.pop([i]) #scoate element din list i l returneaz, parametrul i este op ional, lista.sort() #sorteaz elementele din list list.reverse() #inverseaz elementele din list

TUPLURI - Un tuplu este o secvent de date similar cu listele. - Un tuplu const ntr-un numr de valori separate prin virgul - tuplurile sunt nchise n paranteze - fa de liste, tuplurile sunt imutabile - indexarea ncepe de asemenea de la indexul 0(zero) - len(tuplu) #returneaz dimensiunea unui tuplu tuplu1 = (`Ana`, 345, 4.6, `mere`, `Bucuresti`) tuplu2 = (234, `Vasile`) tuplu3= (3,) #aa se definete un tuplu cu un singur element! observa i virgula dup element print(tuplu1) #afieaz tot tuplul Accesarea unui element din tuplu tuplu[indice] #observa i parantezele ptrate tuplu[i1:i2] #acceseaz elementele de la i1 la i2-1 tuplu[i:] #afieaz elementele ncepnd de la al i-lea pn la capt tuplu[:i] #afieaz elementele de la primul la al i-lea-1 tuplu[::i] #afieaz elementele ale cror indice se divide cu i print(tuplu[0]) #afieaz Ana Aten ie tuplurile nu sunt mutabile tuplu[3] = `pere` #ERROARE de sintaxa, nu putem schimba elementele unui tuplu dar putem crea un nou tuplu cu acelai nume dar care tuplu1 = tuplu1[:2]+(`pere`, tuplu1[4]) #tuplul tuplu1 devine tuplu1 = ('Ana', 345, 'pere', 'Bucuresti') Tuplu in tuplu tuplu4 = ((`casa`, `masa`, 2), 987, 789, `Dana`) tuplu5 = (tuplu, 3.1416, 2.71) Accesarea elementelor ntr-un tuplu compus tuplu4 = ((`casa`, `masa`, 2), 987, 789, `Dana`) print(tuplu4[0][1]) #returneaz masa

SETURI si SETURI NGHE ATE(FROZENSETS) - constau ntr-o colec ie neordonat de elemente care nu se repet - opera iile posibile sunt: reuniunea, intersec ia, diferen a, diferen a simetric - un set se creeaz cu {} sau set(), - set() creeaz un set fr elemente duplicate set0 = set() #am definit un set vid set1 = {123, 'Vasile', 2.71, 'Vasile'} #am definit un set, dup cum observa i avem elemente care se repet, n procesul de creare a lui set1, al doilea Vasile este eliminat iar elementele setului sunt reordonate print(set1) #generez {'Vasile', 123, 2.71} set2 = set(set1) # genereaz un set cu aceleai elemente ca set1 Seturile NU suport indexarea print(set1[2]) #ERROARE Nu este suportat nici operatorul de concatenare + DIOC IONARE - dic ionare sunt liste de perechi cheie: valoare - sunt mutabile - cheile sunt unice - cheia trebuie s fie imutabil - len(dictionar) returneaz lungimea dictionarului - operatorul in testeaz dac o cheie este n dic ionar dictionar = {cheie1: valoare1, cheie2: valoare2,...} Ex: dictionar = {1: 1234, `pi`: 3.1416, `fata`: `Ana`, 21: `Slatina`} dictionarGol = {} Accesarea unui element din dic ionar dictionar[cheie] print(dictionar[`fata`]) #returneaz Ana Adugarea unui nou element n dictionar dictionar[cheie] = valoare #daca cheia este diferit de cele deja folosite in dic ionar, se adaug o nou valoare, dac nu, atunci valoarea cheii din dic ionar se nlocuiete cu noua valoare dictionar[`baiat`]=`Vasile` #dictionar devine:
{1: 1234, 'fata': 'Ana', 'pi': 3.1416, 21: 'Slatina', 'baiat': 'Vasile'}

Alte operatii cu dic ionare dictionar.keys() #returneaz toate cheile dictionar.values()#returneaz toate valorile list(dictionar.keys()) #returneaz o list cu cheile folosite n dic ionar sorted(dictionar.keys())# ordoneaz dic ionarul dup chei, cheile trebuie s fie de acelai tip del dictionar[cheie] #terge elementul din dic ionar cu cheia specificat dict([(`a`, 1234), (1: 3.14), (`fata`, `Ana`)]) #returneaz un dic ionar din perechile primite ca parametru, se mai poate folosi:
>>> dict(sape=4139, guido=4127, jack=4098) {'sape': 4139, 'jack': 4098, 'guido': 4127}

OPERATOR CAST int(x, [,baza]) convertete pe x n ntreg in baza specificata, parametrul baza este op ional long(x, [,baza]) convertete pe x n ntreg lung n baza specificat, parametrul baza este op ional float(x) convertete x n float complex(real [,imag]) creeaz un obiect complex din parametrii primiti, imag poate s lipseasc str() convertete obiectul x la o reprezentare string repr(x) convertete obiectul x la o expresie string tuple(x) convertete c la un tuplu list(x) convertete x la o list set(x) convertete x la un set dict(x) creaz un dic ionar, d trebuie s fie o secven de (cheie, valoare) frozenset(x) convertete x la un set nghe at chr(x) convertete un intreg la caracter unichr(x) convertete un intreg la un caracter Unicode ord(x) convertete un singur caracter la o valoare intreag hex(x) convertete un ntreg la un string din cifre hexazecimale oct(x) convertete un ntreg la un string din cifre octale OPERATORUL IN val in lista - returneaz true dac valoarea este in list, tuplu, dic ionar, etc. false dac nu este

ALTE FUNC II I OBSERVA II IMPORTANTE - dir() afieaz toate simbolurile definite in mediul de rulare in momentul apelrii - all(iterable) ntoarce True daca toate elementele listei sunt True - any(iterable) ntoarce True dac cel putin un element al liste este True - sum(iterable) returneaz suma elementelor unui obiect secven acare are elemente numerice - min(iterable) returneaz minimul unui obiect de tip secven - max(iterable) returneaz maximul unui obiect de tip secven - range([start,] stop[,step]) ntoarce o list care con ine elemente aflate in progresie aritmetic, cu primul termen start, ra ia step i fr a depi valoarea stop - map(f, secventa) aplica f pe fiecare element al secven ei i ntoarce o list cu rezultate - zip(iterable1, iterable2,) ntoarce o list de tupluri, n care tuplul I con ine al i-lea element din fiecare secven , pentru a obtine secven ele initiale se poate utiliza zip(*zipped), unde zippled este lista de tupluri ob inut la apelul zip(iterable1, iterable2) - reduce(f, secventa) ntoarce un singur rezultat obtinut n urma aplicrii func iei f range(nr) #returneaz o list elemente consecutive de la 1 la nr cu pas de itera ie 1 [1, 2, 3,.......,nr] range(nr1, nr2) #returneaz o lista de elemente ncepnd de la nr1 la nr2 cu pas de itera ie 1 range(nr1, nr2, pas) #returneaz o list de elemente ncepnd de la nr1 la nr2 cu pasul de itera ie specificat. Putem s dm i pas de itera ie negativ, numrtoare fcndu-se invers range(10, 1, -2) #genereaz [10, 8, 6, 4, 2]

ELEMENTE DE PROGRAMARE STRUCTURAT CONDI IA CONDI IA --- IF if expresie: instructiune1 instructiune2 restul codului if expresie: instructiuni else: instructiuni restul codului if expresie: instructiuni elif expresie: instructiuni else: instructiuni restul codului
var = 100 if var == 200: print "1 - Got print var elif var == 150: print "2 - Got print var2 elif var == 100: print "3 - Got print var else: print "4 - Got print var

a true expression value"

a true expression value"

a true expression value"

a false expression value"

Nu se mai folosesc acoladele pentru a delimita blocurile, blocurile se delimiteaz folosind indentrile, aveti grij la ele!!!

CONDI IONALA SWITCH-CASE: Python nu are condi ional switch-case dar se poate folosi un cod echivalent:
result = { 'a': lambda x: x * 5, 'b': lambda x: x + 7, 'c': lambda x: x - 2 }[value](x)

CICLURI CICLUL FOR for var in [lista/tuplu/dictionar/sir car/etc] : instructiuni var variabila contor ia toate valorile din list, una cte una executndu-se toate instruc iunile din blocul for pentru fiecare element din list for animal in ['cal', 'magar', 'vitel']: print('Ana paste '+animal+"ul") for nr in range(0, 100): print('In dulap sunt '+ str(100-nr) +' sticle de bere') print('Ia o sticla de bere din dilap, ',) print('in dulap mai sunt '+str(100-nr-1)+' sticle de bere') print() for nr in range(0, 100): print('In dulap sunt ', 100-nr,' sticle de bere') print('Ia o sticla de bere din dilap, ',) print('in dulap mai sunt ', 100-nr-1, ' sticle de bere') print() #nu am mai folosit concatenarea pentru a genera mesaje for nr in range(0, 100, 10) print(nr) #for cu loop peste 10 for litera in `abracadabra` print(`litera= `, litera)
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print 'Current fruit :', fruits[index]

to catch an error if no key found


try: {'option1': function1, 'option2': function2, 'option3': function3, 'option4': function4}[value]() except KeyError: # default action

I would probably use


switch = {'option1': function1, 'option2': function2, 'option3': function3, 'option4': function4} if value in switch: switch[value]() else: pass #default

#COD netestat

CICLUL WHILE:

while expresie : instruc iuni


Python NU are instruc iunea do-while. Exemplu: count=0
while (count < 9): print('The count is:', count) count = count + 1 while not contor > 100: instructiuni

MODULE --- FUNC II def numeFunctie(param1, param2,...) : ...instructiuni... return valoare numeFunctie(val1, val2,...) #utilizarea functiei def Functie(x): print(x) print(Functie(4)) ---------------------------------------def Fibonacci(x): if (x==0) or (x==1): return x return Fibonacci(x-1)+Fibonacci(x-2) print(Fibonacci(7)) #recursivitate ---------------------------------------------------def suma(a, b=4): return a+b print(suma(3)) #func ie cu parametru cu valoare implicit, dac nu dm nicio valoare pentru respectivul parametru se consider valoarea precizat n defini ia func iei -----------------------------------------------------------------x = 10 def Functie(): global x print('x= ', x) x=5 print('x= ', x) print(Functie()) print('\nx= ', x) Func ia returneaz:
x= 10 x= 5 None x= 5

Operatori utiliza i in lucrul cu ciclurile for, conditionale break for eaz ieirea din cel mai apropiat ciclu for sau while continue for eaz trecerea la urmtoarea itera ie a ciclului pass nu face nimic, util cnd e necesar o instructiune care s nu fac nimic while True: pass #asteapt o intrerupere, ex: CTRL+C CTRL+C #for eaz ieirea din execu ia scriptului din exterior import sys sys.exit(cod_eroare) #ieire necondi ionat din script return valoare #ieire dintr-un modul(func ie), parametrul valoare lipsete dac func ia nu returneaz nicio valoare

Deci n Python variabilele globale se pot modifica din interiorul unei func ii.

Observa ii: - func iile ntorc ceva, dac nu exist nici un return n corpul func iei se ntoarce None - func iile sunt obiecte - func ia i corpului func iei trebuie scrise deasupra codului care le utilizeaz Importarea unui fiier cu func ii Func ii.py File | Edit| View | Help | def Functie1(a, b): return a+b def Functie2(a, b): return a-b i l salvm n acelai director cu scriptul care l utlilizeaz Script.py File | Edit | View | Help| import Functii print(Functii.Functie1(7,3)) print(Functii.Functie2(7,3)) import NumeFisierImportat #import tot fiierul NumeFisierImportat.Functie() #folosete acea func ie in fisierul care import fisierul 2 from NumeFisier import Functie1, Functie2 #import doar anumite func ii din fiierul importat from NumeFisier import * #import toate func iile din fiierul importat afar de cele ale cror nume ncep cu _ Python interpreteaz liniile de cod import NumeFisier cutnd fiierul NumeFisier.py n directorul curent apoi in variabila environment PYTHONPATH apoi, dac fiierul nu e gsit nici aici, caut fiierul in directorul de instalare al mediului Python. Fiierele .py care con in func ii i care sunt apoi importante in alte scripturi sunt adesea compilate n format binar crendu-se fiiere tipul NumeFisierImportat.pyc

Dac avem mai multe func ii cu acelai nume, ultima este cea folosit def Funct(): print('Ana are ') return def Funct(): print('mere') return Funct() Returneaz mere Alte lucruri importante despre Module python O Script.py #se genereaz un fiier obiect numit Script.pco python OO Scrip.py #for eaz compilatorul s fac optimizri care uneori genereaz cod nefunc ional programul nu ruleaz mai rapid dac este tip .pyc sau pyo dect dac este .py singura diferen este rapiditatea cu care sunt ncrcate cnd un script este rulat din linie de comanda python Script.py codul binar pentru script nu este scris in fiiere .pyc sau .pyo compileall Directorcreeaz fiiere .pyc sau ,pyo cnd O este utilizat pentru toate modulele dintr-un director import sys sys.path.append(`...cale...`) #adaug o cale la calea PATH Func ia dir() dir(NumeFisier) #returneaz numele func iilor con inute n acel fisier

PACHETE Exemplu de pachet:


sound/ __init__.py sound package formats/ file format conversions __init__.py wavread.py wavwrite.py aiffread.py aiffwrite.py auread.py auwrite.py ... effects/ sound effects __init__.py echo.py surround.py reverse.py ... filters/ filters __init__.py equalizer.py vocoder.py karaoke.py Top-level package Initialize the Subpackage for

FIIERE f = open(`cale/fiier`, `mod_deschidere`) mod_deschidere `r` citire `r+ citire i scriere `w` scriere `a` adugare `b` binar f.read() #citete tot fiierul i afieaz tot con inutul lui f.read(dimensiune) #citete i retuneaz un ir de caractere(dac fiierul a fost deschis in mod text) octe i dac a fost deschis n mod binar. Numrul de caractere sau octe i cititi e dat de parametrul dimensiune, dac dimensiune e negativ sau absent func ia returneaz tot con inutul fiierului. Dac s-a atuns finalul fiierului se returneaz ``. f.readline() #returneaz o linie de caractere, pn inclusiv la citirea caracterului `\n` pe care l plaseaz la finalul irului returnat.

Subpackage for

Subpackage for

f.readlines() #returneaz o list cu toate liniile din fiier f.readlines(nr) #citete linii de cod pn cnd octe ii cititi depesc nr precizat ca parametru i s-a atins un caracter newline. Doar linii complete sunt returnate. Functia returneaz de asemenea o lista de iruri de caractere. f.write(informatie) #scrie informatia dat ca parametru in fisier f.seek(offset, reper) #mut pozi ia de citire sau scriere in fiier la distan a precizat de offset fa de reper care poate fi: 0 nceputul fisierului(default dac acest parametru este ignorat),1 pozi ia curent, 2 captul fiierului f.close() #nchide fisierul Functia pickle() read() returneaz numai stringuri care doar trimise unei func ii gen int() poate face extragerea valorii numerice. Dac avem un obiect x si vrem s l scriem ntr-un fisier f folosim pickle.dump(x, f) Dac vrem s citim un obiect x dintr-un fisier: x = pickle.loan(f)

... La importarea unui pachet, Python caut prin directoarele stocate n sys.path cutnd subdirectorul pachet. __init__.py sunt cerute ca Python s trateze directorul ca i cnd ar con ine pachete. __init__.py poate fi un fiier gol dar poate executa cod de ini ializare pentru pachet sau setarea variabilei __all__ import sound.effects.echo #import un modul individual din pachet echivalent cu: from sound.effects.echo import echofilter

CITIRE SCRIERE n fiiere cu CSV CSV(Comma Separated Values) este cel mai important format de importare, exportare a nregistrrilor pentru baze de date. Se pot citi sau scrie date n format de exemplu Excel fr a cunoate formatul binar Exel. Func ii definite n modulul csv: >>> import csv csv.reader(csvfile[,dialect=exel][,fmtparam]) Returneaz un obiect care itereaz printre liniile fisierului csvfile. csvfile poate fi orice obiect care suport protocolul iterator i returneaz cte un string de fiecare dat cnd este apelat func ia next(). Dac csvfile este un fiier obiect, el trebuie uneori deschis cu op iunea `b` (binar). Parametrul op ional dialect stabilete un set de parametri specifici unui dialect CSV. list_dialects() returneaz lista de dialecte recunoscute
import csv spamReader = csv.reader(open('eggs.csv', 'rb'), delimiter=' ', quotechar='|') for row in spamReader: print (', '.join(row)) Spam, Spam, Spam, Spam, Spam, Baked Beans Spam, Lovely Spam, Wonderful Spam

csv.writer(csvfile[,dialect=excel][,fmtparam]) Returneaz un obiect scriere responsabil pentru conversia datelor trimise de utilizator n stringuri delimitate i dndu-le caracteristicile fiierelor n care sunt scrise. Dac csvfile este un obiect fiier de cele mai multe ori trebuie deschis cu `b`. Parametrul op ional dialect specific dialectul. Valorile date lui fmtparam specific care cmpuri s fie suprascrise sau nscrise.
import csv spamWriter = csv.writer(open('eggs.csv', 'wb'), delimiter=' ', ... quotechar='|', quoting=csv.QUOTE_MINIMAL) spamWriter.writerow(['Spam'] * 5 + ['Baked Beans']) spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

csv.register_dialect(name[,dialect][,fmtparam]) Asociaz dialectul cu nume, nume trebuie sa fie un string Unicode. csv.unregister_dialect(name) terge dialectul asociat cu numele csv.get_dialect(name) returneaz dialectul asociat cu nume. csv.list_dialects() returneaz dialectele nregistrate csv.field_size_limit([limit_nou]) returneaz dimensiunea maxim pentru parser

Clase con inute in modulul csv class csv.DictReader(csvfile[,filenames=None[,restkey=None[,restval=None[, dialect=exel[,*args,**kwds]]]]]) Creeaz un obiect care opereaz ca un cititor regulat dar mapeaz informatia de citit ntr-un dict ale crui chei sunt date de parametrul op ional filednames. Dac fildnames este omis, valoarea din primul rnd al csvfile va fi utilizat ca filednames. Dac rndul citit are mai multe cmpuri dect secven a fieldnames, datele rmase sunt adugate ca o secven a crei cheie este restkey. Dac rndul citit are mai pu ine cmpuri dect secven ele fieldnames. Cheile rmase preiau valorile ale parametrului op ional restval. class csv.DictWriter(csvfile, fieldnames[,rest=[,extrasaction=raise [,dialect=exel[,*args, **kwds]]]]) Creeaz un obiect care opereaz ca un scriitor darmapeaz dic ionarul n rnduri de ieire. Parametrul fieldnames identific ordinea n care valorile din dic ionar sunt pasate functiei writerow(). Parametrul op ional restval specific valoarea care trebuie scris n dic ionar dac dic ionarului i lipsete o cheie n filednames. Dac dic ionarul sapat lui writerow() con ine chei negsite in fieldnames, parametrul op ional extrasaction indic ac iunea care trebuie s aib loc. Dac e setat pe raise o valoare ValueError este ridicat. Dac este setat la ignore, valori din dictionar sunt ignorate. class csv.Dialect Este o clas container ce con ine parametrii specifici instan elor reader i writer class csv.excel Definete propriet i ale unui fisier Excel generat de obiectul CSV. class csv.excel_tab Definete propriet ile uzuale ale unui fiier Execl cu delimitri cu taburi. Class csv.Sniffer Clasa Sniffer este utilizat pentru a deduce un format al fiierului CSV Mai multe pe siturile: 1) http://docs.python.org/library/csv.html 2) http://www.developer.com/tech/article.php/3727616/CreatingExcel-Files-with-Python-and-Django.htm 3) http://scienceoss.com/read-excel-files-from-python/ 4) http://snippets.dzone.com/posts/show/2036 5) http://michaelangela.wordpress.com/2008/07/06/python-excel-filereader/

CLASE
class NumeClasa: #date interne clasei raza = 1 pi = 3.14 def FunctieMembru(self): aria = self.raza**2 * self.pi return aria obiect = NumeClasa() #am definit un obiect de tipul clasei create mai sus Cea mai simpl clas class Goala pass 0) Toate metodele trebuie s aib parametrul self ca prim parametru, este o referire la clasa din care fac parte. n metod, datele membru trebuie de accesate cu self.varMembru altfel interpretorul python va cauta variabila n afara clasei ca variabila global. La apelarea metodei unei clase din afar NU trebuie specificat i argumentul self, python tie c e acolo. 1) Clasele au ceva asemntor unui constructor: __int__ class Clasa: def __int__(self, filename=None) __int__ este apelat imediat dup crearea obiectului i trebuie s fie prima metod scris n clas. 2) Definirea unei clase motenitoare class ClasaNoastra(ClasaStramos): .....metode i date ale clasei noastre... Am definit o clas care motenete metodele si datele clasei ClasaStramos la care adaug alte date i metode. Motenirea se face simplu, prim specificarea clasei de la care se motenete intre paranteze rotunde. Dac vom crea o clas care motenete la o alt clas, __init__ al clasei motenite nu se va executa dect dac specificm acest lucru:
from UserDict import UserDict class FileInfo(UserDict): "store file metadata" def __init__(self, filename=None): UserDict.__init__(self) self["name"] = filename

import math class FormeGeometrice: forma = "patrat" L=10 l = 5 R = 20 def __init__(self, forma2): self.forma = forma2 def SetVal(self, param, valoare): if param == "L": self.L = valoare elif param == "l": self.l = valoare elif param == 'R': self.R = valoare else: print("Functia nu are\ asemenea parametru") def Aria(self): if self.forma == "patrat": return self.l**3 elif self.forma == 'dreptunghi': return self.L*self.l elif self.forma == "cerc": return self.R**2*math.pi else: return -1 #ERRoare A = FormeGeometrice("cerc") B = FormeGeometrice("dreptunghi") C = FormeGeometrice("patrat") print("=====Obiect A======") print("A.forma = ",A.forma) print("A.R(aza) = ", A.R) #desigur ca A are si parametrii 'L' si 'l' dar nu #ii vom folosi print('--Schimbam raza retinuta de A--' ) A.R = 50 #observam ca valorile sunt publice print("A.R(aza)-noua = ", A.R) print('=========--Afisem Ariile=================') print("A.Aria a returnat= ", A.Aria()) print("B.Aria a returnat= ", B.Aria()) print("C.Aria a returnat= ", C.Aria())

GRAFIC ELEMENTAR
Se va descrie modulul grafic dezvoltat de John Zelle pentru Python Se descarca biblioteca graphics.py i se plaseaz n folderul unde lucrm. Biblioteca poate fi gsit pe: http://mcsp.wartburg.edu/zelle/python/graphics.py
from graphics import * def main(): win = GraphWin('Face', 200, 150) # give title and #dimensions win.yUp() # make right side up coordinates! #uneori s-ar putea ca linia de mai sus san u mearga head = Circle(Point(40,100), 25) # set center and radius head.setFill("yellow") head.draw(win) eye1 = Circle(Point(30, 105), 5) eye1.setFill('blue') eye1.draw(win) eye2 = Line(Point(45, 105), Point(55, 105)) # set #endpoints eye2.setWidth(3) eye2.draw(win) mouth = Oval(Point(30, 90), Point(50, 85)) # set corners #of bounding box mouth.setFill("red") mouth.draw(win) label = Text(Point(100, 120), 'A face') label.draw(win) message = Text(Point(win.width/2, 20), 'Click anywhere to\ quit.') message.draw(win) win.getMouse() win.close() main()

FIGURI GEOMETRICE pt = Point(x, y) creaz un obiect punct la coordonatele x, y dar nu se afieaz nimic pn nu se folosete func ia pr.draw() pt.draw(win) deseneaz obiect cir = Circle(pt, 25) cir.draw(win) creeaz un cerc de raz 25 avnd n mijloc coordonatele lui pt. La fel, nimic nu se afieaz pn cnd nu e apelat func ia .draw() cir = Circle(pt, 25) cir.setFill(``blue``) #coloreaz interiorul cercului n albastru cir.setOutline(``red``)#coloreaz exteriorul n rou cir.draw(win) linie = Line(pt, Point(150, 100)) linie.setWidth(3) #stabilete grosimea liniei linie.draw(win) #creeaz o linie ntre punctul pt i punctul de coordonate x = 150, y = 100 dreptunghi = Rectangle(Point(20, 100), pt) dreptunghi.draw(win) #creeaz un dreptunghi cu vrful stnga sus n punctul pt i punctul dreapta jos n punctul de coordonate x = 20,y =100 label = Text(Point(100, 120), 'A face') label.draw(win) #creeaz un spa iu de text cu col ul dreapta sus n punctul de coodonate 100, 120 Textulmaipoate fi scris i cu liniile de cod
message = Text(Point(win.width/2, 20), 'Click anywhere to quit.') message.draw(win)

Obiectele pot fi mutate, lucru util n anima ii (,move) linie.move(10, 40) # win.close() #iese din modul grafic

Biblioteca se importeaz cu from graphics import * win = GraphWin(...) primete numele ferestrei i dimensiunile ei apoi creeaz fereastra de windows

Alte func ii grafice: win.setBackground(`<culoare>`) #coloreaz fundalul n culoarea specificat mesaj=Text(Point(win.width/2, 20), `Mesaj`) mesaj.setTextColor(`<culoare>`) #stabilete culoarea cu care va fi scris textul mesaj.setStyle(`italic`) #stabilete stilul cu care va fi scris textul mesaj.setSize(20) #stabilete cu ce grosime va fi scris textul mesaj.draw(win) Culori: Culorile se pot specifica ca nume (red, green, blue, white, black...) sau ca grupe de numere hexazecimale de tipul: 4bi i/culoare #ff0 #rgb 8bi i/culoare #0011ff #rrggbb #rrrgggbbb 12bi i/culoare #2550127fa

winsound.SND_NOSTOP nu ntrerupe sunetul ce ruleaz curent winsound.SND_NOWAIT returneaz imediat dac driverul este ocupat winsound.MB_ICONASTERISK ruleaz sunetul SystemDefault winsound.MB_ICONEXCLAMATION ruleaz sunetul SystemExclamation winsound.MB_ICONQUESTION ruleaz sunetul SystemQuestion winsound.MB_OK ruleaz sunetul SystemDefault winsound.MessageBeep([type=MB_OK]) ruleaz un sunet specificat n unul din registre. Argumentul type specific care sunet e rulat din lista mod de mai sus. Dac type = -1 se produce un simplu beep LUCRU CU IRURI DE CARACTERE ---ADUGIRI import string Constante: string.ascii_leters toate literele
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.

SUNETE:
Pentru platforme Windows: import winsound winsound.Beep(frecventa, durata) genereaz un sunet de anumit frecven o anumit durat de timp, frecv=37-:-32,767 winsound.PlaySound(fisSunet, mod) apeleaz functia PlaySound, fisSunet trebuie s fie un fiier audio trimis ca ir de caractere mod = winsound.SND_FILENAME fisierul audio este un .wav winsound.SND_ALIAS parametrul sunet este un sunet asociat cu un nume dintr-un registru. Dac registrul nu con ine acest nume, ruleaz sunetul default dac SND_NODEFAULT nu este specificat. winsound.SND_LOOP ruleaz sunetul repetat. Se folosete SND_ASYNC pentru a se evita blocajul. Nu poate fi utilizat mpreun cu SND_MEMORY winsound.SND_MEMORY fisSunet este o imagine n memorie a fisierului audio .wav trimis ca un ir de caractere winsound.SND_PURGE oprete rularea tuturor instan elor sunetului specificat winsound.SND_ASYNC ruleaz sunetul asincron winsound.SND_NODEFAULTS dac sunetul nu poate fi gsit, nu ruleaz sunetul default al sistemului

string.ascii_lowercase toate literele minuscule


'abcdefghijklmnopqrstuvwxyz'

string.ascii_upercase toate literele majuscule


'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

string.digits toate cifrele, `0123456789` string.hexdigits toate cifrele hexazecimale string.letters string.lowercase string.uppercase string.octdigits cifrele octale string.punctuation semne de punctua ie string.whitespace spa iu Func ii: string.capwords(s[,sep]) desparte argumentul n cuvinte folosind str.split(), capitalizeaz fiecare cuvnt folosind str.capitalize i unete cuvintele capitalizate utiliznd str.join(). string.maketrans(sursa, destinatie) returneaz un tabeld e tranzi ie pentru a-l da functiei translate(). Acesta va mapa fiecare caracter din surs n caracterul de la aceeai pozi ie n destinatie. Sursa i destinatia trebuie s aib aceeai lungime.

string.atof(s) face conversia sir caractere numr cu virgul string.atoi(s[,baza]) face conversia sir de car nr ntreg n baza specificata, baza = 0x, 0X(hexa), o(octal) string.atol(s[,baza]) face conversia ir de caractere nr ntreg lung string.capitalize(word) returneaz o copie a cuvntului cu prima liter transformat n majuscul string.expandtabs(s[,tabsize]) transform taburile n spa ii string.find(s, sub[,start[,end]]) returneaz cel mai mic index unde este gsit subirul sub astfel nct subirul s fie con inut n s[start:end] string.rfind(s, sub[,start[,end]]) asemenea doar c returneaza indexul cel mai mare string.index(s, sub[,start[,end]]) la fel ca fiind doar c incrementeaz valoarea lui ValueError dac subirul nu este gsit string.rindex(s, sub[,start[,end]])-----//--string.count(s, sub[,start[,end]]) returneaz numrul de apari ii ale subirului sub ntre pozi iile start:end din ir string.lower(s) transform caracterele irului n minuscule string.upper(s) transform caracterele irului n majuscule string.split(s,[,sep[,maxsplit]])- returneaz o list de cuvinte din irul s. Dac parametrul sep este absent sau None, cuvintele sunt separate prin iruri de caractere de tabulare(spatii, taburi, linii noi). Sep ia valoarea caracterelor care vor fi interpuse ntre cuvintele returnate. Maxsplit este bydefault =0, dac e diferit de 0 indic de cte ori se se face split. string.rsplit(s[,sep[,maxsplit]]) returneaza o list de cuvinte din sirul s cutnd sfritul lui s. Singura diferent fat de split() este c atunci cnd maxsplit !=0 ultima element din list este primul string.splitfileds(s[,[,maxsplit]]) ca si split() string.join(words[,sep]) concateneaz o lista de tupluri de cuvinte i le desparte prin separatoarul sep string.lstrip(s[,chars]) returneaz o copie a sirului dup ce a eliminat caracterele chars de la nceputul irului, dac chars nu apare se elimin spa iile string.rstrip(s[,chars]) returneaz o copie a sirului dup ce a eliminat caracterele chars de la sfritul irului, dac chars nu apare se elimin spa iile string.strip(s[,chars]) returneaz o copie a irului dup ce a eliminat caracterele chars de la inceputul i sfritul irului de caractere. Dac chars nu apare se elimin spatiile

string.swapcase(s) returneaz o copie a irului de caractere inversnd minusculele n majuscule i majusculele in minuscule string.translate(s, table[, deletechars]) terge toate caracterele din s care se afl n deletechars i apoi translateaz caracterele folosind table care trebuie s fie un ir de 256 caractere cu translatrile fiecrui caracter. Dac tabelul este None atunci se face doar tergerea de caractere. string.ljust(s, width[,fillchar]) string.rjust(s, with[,fillchar]) string.center(s, width[,fillchar]) umple un spatiu width cu caracterele fillchar la centru pentru center(), la stnga pentru ljust(), la dreapta pentru rjust() string.zfill(s, width) pune 0 la stnga irului pe o dimensiune de width. irurile care ncep cu semn sunt manipulate corect string.replace(str, old, new[,maxreplace]) returneaz o copie a irului str cu toate apari iile subirului old nlocuite de new. dac argumentul maxreplace este dat, prima apari ie a lui maxreplace este nlocuit

Intrri din linia de comand:


File | View | Search | Help import sys for i in range(1, len(sys.argv)): print(sys.argv[i])

Bibliografie: 1) python3.1 documentation vine odat cu kitul de install 2) Python Programming Wikibooks 3) GUI Programming with Python: QT Edition Boudewijn Rempt 4) http://docs.python.org/tutorial/ 5) http://docs.python.org/release/2.5.2/tut/tut.html 6) http://www.sthurlow.com/python/ 7) http://www.tutorialspoint.com/python/

S-ar putea să vă placă și