0% au considerat acest document util (0 voturi)
11 vizualizări26 pagini

Note Python Unitatea - III

Documentul oferă informații despre listele, tuplurile și dicționarele Python. Discută despre: - Cum să creezi, accesezi, actualizezi și ștergi elemente în liste și tupluri - Operații comune cu liste și tupluri, cum ar fi concatenarea și lungimea - Funcții încorporate pentru liste și tupluri - Cum sunt compuse dicționarele din chei și valori și cum să accesezi valorile folosind cheile - Diferențele dintre liste, tupluri și dicționare în Python

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
11 vizualizări26 pagini

Note Python Unitatea - III

Documentul oferă informații despre listele, tuplurile și dicționarele Python. Discută despre: - Cum să creezi, accesezi, actualizezi și ștergi elemente în liste și tupluri - Operații comune cu liste și tupluri, cum ar fi concatenarea și lungimea - Funcții încorporate pentru liste și tupluri - Cum sunt compuse dicționarele din chei și valori și cum să accesezi valorile folosind cheile - Diferențele dintre liste, tupluri și dicționare în Python

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Compilat de: Prof. Mohd. Shahid Subiect: Programare Python Clasă : SYBSc(I.

T) SEM - III

1-Python Lists
Introducere
Cea mai de bază structură de date în Python este secvenț a.

Fiecare element al unei secvenț e este atribuit un număr - poziț ia sau indexul său. Primul index este zero,
al doilea index este unul, ș i aș a mai departe.

Python are ș ase tipuri de secvenț e integrate, dar cele mai comune sunt listele ș i tuplurile.

Liste Python
Lista este un tip de date foarte versatil disponibil în Python, care poate fi scrisă ca o listă de virgule-
valori separate (elemente) între paranteze pătrate.

Un lucru important despre o listă este că elementele dintr-o listă nu trebuie să fie de acelaș i tip.

Crearea unei liste este la fel de simplă ca plasarea diferitelor valori separate prin virgulă între paranteze pătrate.
De exemplu–

list1 = ['physics', 'chemistry', 1997, 2000];


list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]

Accesarea valorilor în liste


Pentru a accesa valori în liste, foloseș te parantezele pătrate pentru feliere împreună cu indexul sau indecș ii pentru
obț ineț i valoarea disponibilă la acel index. De exemplu −

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];


list2 = [1, 2, 3, 4, 5, 6, 7 ];

print "list1[0]: ", list1[0]


print "list2[1:5]: ", list2[1:5]

Când codul de mai sus este executat, acesta produce următorul rezultat -

list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Actualizarea listelor Listele sunt mutabile.

Puteț i actualiza un singur element sau mai multe elemente ale listelor oferind felierea pe partea stângă a
operator de asignare, ș i poț i adăuga elemente într-o listă cu metoda append(). Pentru
exemplu −

#!/usr/bin/python

list = ['physics', 'chemistry', 1997, 2000];

Valoare disponibilă la indexul 2 :


printaț i lista[2]
list[2] = 2001;
Valoare nouă disponibilă la indexul 2 :
printează lista[2]

Result :
Valoare disponibilă la indexul 2 :
1997
Noua valoare disponibilă la indexul 2 :
2001

Ș tergeț i elementele listei

Pentru a elimina un element din listă, poț i folosi fie afirmaț ia del dacă ș tii exact care
element(e) pe care le ș tergeț i sau metoda remove() dacă nu ș tiț i. De exemplu–

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];

afiș ează lista1


del list1[2];
După ce am ș ters valoarea de la indexul 2 :
tipăriț i lista1

Când codul de mai sus este executat, produce următorul rezultat -

['physics', 'chemistry', 1997, 2000]


După ș tergerea valorii de la indicele 2 :
['physics', 'chemistry', 2000]
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasă: SYBSc(I.T) SEM - III

Operaț iuni de bază cu liste

Listele răspund la operatorii + ș i * la fel ca ș i ș irurile; acestea înseamnă concatenare ș i repetare


aici de asemenea, cu exceptia faptului că rezultatul este o nouă listă, nu un ș ir.

De fapt, listele răspund la toate operaț iile generale de secvenț ă pe care le-am folosit pe ș iruri anterior.
capitol

Expresie Python Rezultate Description


len([1, 2, 3]) 3 Length
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenare
['Hi!'] * 4 ["Salut!","Salut!","Salut!","Salut!"]
Repetiț ie
3 în [1, 2, 3] Adevărat Membru
pentru x în [1, 2, 3]: print x, 1 2 3 Iteraț ie

Funcț ii ș i metode încorporate pentru liste:

Python include următoarele funcț ii pentru liste -

SN Funcț ie cu descriere
1 cmp(lista1, lista2)

Compară elementele ambelor liste.


2 len(lista)

Oferă lungimea totală a listei.


3 max(lista)

Returnează elementul din listă cu valoarea maximă.


4 min(lista)

Returns item from the list with min value.


5 listă(seq)

Converteș te un tuplu într-o listă.


Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Python include următoarele metode pentru liste

SN Methods with Description


1 [Link](obj)

Adaugă obiectul obj la listă


2 [Link](obj)

Returnează numărul de ori în care obj apare în listă


3 [Link](seq)

Adaugă conț inutul secvenț ei la listă


4 [Link](obj)

Returnează cel mai mic index în lista în care apare obiectul


5 [Link](index, obj)

Inserează obiectul obj în listă la offsetul index


6 [Link](obj=list[-1])

Elimină ș i returnează ultimul obiect sau obj din listă


7 [Link](obj)

Elimină obiectul obj din listă


8 listă.reverse()

Inversează obiectele listei pe loc


9 [Link]([func])

Sortează obiectele din listă, foloseș te funcț ia de comparare dacă este furnizată
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa: SYBSc(I.T) SEM - III

2-Tupla în Python
Introducere
• Un tuplu este o secvenț ă de obiecte Python imutabile.
• Tuplurile sunt secvenț e, la fel ca listele.
• Diferenț ele dintre tuple ș i liste sunt că tuplele nu pot fi modificate spre deosebire de liste.
tuplurile folosesc paranteze, în timp ce listele folosesc paranteze pătrate.
• Crearea unui tuple este la fel de simplă ca punerea diferitelor valori separate prin virgulă.
• Opț ional, poț i pune aceste valori separate prin virgulă între paranteze de asemenea.
exemplu −

tup1 = ('physics', 'chemistry', 1997, 2000);


tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

Tupla goală este scrisă ca două paranteze care nu conț in nimic −

tup1 = ();

Pentru a scrie un tuplu care conț ine o singură valoare, trebuie să incluzi o virgulă, chiar dacă există
doar o valoare −

tup1 = (50,);

La fel ca indicii de ș iruri, indicii tuplurilor încep de la 0 ș i pot fi prelucrati, concatenati ș i aș a mai departe.

Accesarea valorilor în tuple:


Pentru a accesa valorile dintr-un tuple, folosiț i parantezele patrate pentru a tăia împreună cu indexul sau indecș ii pentru
obț ine valoarea disponibilă la acel index. De exemplu −

#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);


tup2 = (1, 2, 3, 4, 5, 6, 7 );

print "tup1[0]: ", tup1[0]


print "tup2[1:5]: ", tup2[1:5]
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Când codul de mai sus este executat, produce următorul rezultat −

tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]

Actualizarea Tuplurilor

• Tuplurile sunt imuabile, ceea ce înseamnă că nu poț i actualiza sau schimba valorile unui tuplu.
elemente.
• Eș ti capabil să iei porț iuni din tuple existente pentru a crea tuple noi, astfel cum urmează
exemplul demonstrează −

#!/usr/bin/python

tup1 = (12, 34.56);


tup2 = ('abc', 'xyz');

Acț iunea următoare nu este validă pentru tuple


# tup1[0] = 100;

Aș a că să creăm un nou tuplu după cum urmează


tup3 = tup1 + tup2;
print tup3

Când codul de mai sus este executat, produce următorul rezultat -

(12, 34.56, 'abc', 'xyz')

Ș terge elementele tuple-ului

Removing individual tuple elements is not possible.

Desigur, nu este nimic in neregulă cu a pune împreună un alt tuplu cu cele nedorite.
elemente eliminate.

Pentru a elimina explicit un întreg tuplu, foloseș te pur ș i simplu declaraț ia del. De exemplu:

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);

tipăreș te tup
del tup;
După ș tergerea tup :
tipăreș te tup
Compilat de: Prof. Mohd. Shahid Subiect: Programare în Python Clasa : SYBSc(I.T) SEM - III

Aceasta produce următorul rezultat. Reț ineț i o excepț ie generată, acest lucru se datorează după tuptuple
nu mai există

('physics', 'chemistry', 1997, 2000)


După ș tergerea tup:
Urmează trasarea (cea mai recentă apelare ultimă):
Fiș ierul "[Link]", linia 9, în <modul>
print tup;
NameError: numele 'tup' nu este definit

Operaț ii de bază cu tuple


Tupurile răspund la operatorii + ș i * la fel ca ș irurile; ele înseamnă concatenare ș i
repetiț ie aici de asemenea, cu excepț ia că rezultatul este un nou tuplu, nu un ș ir.

De fapt, tuplele răspund la toate operaț iile generale de secvenț ă pe care le-am folosit pe ș iruri în partea anterioară
chapter −

Python Expression Rezultate Description


len((1, 2, 3)) 3 Lungime
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) Concatenare
('Salut!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') Repetare
3 în (1, 2, 3) Adevărat Membru
pentru x în (1, 2, 3): printa x, 1 2 3 Iteraț ie

Funcț ii tuple încorporate


Python include următoarele funcț ii de tuplu −

SN Funcț ie cu descriere
1 compară(tuple1, tuple2)

Compară elementele ambelor tuple.


2 len(tuplu)

Oferă lungimea totală a tuplului.


3 max(tuplu)

Returnează elementul din tuplă cu valoarea maximă.


4 min(tuplu)

Returnează elementul din tuplu cu valoarea minimă.


Compilat de : Prof. Mohd. Shahid Subiect: Programare Python Clasa: SYBSc(I.T) SEM - III

5 tuplu(seq)

Transformă o listă în tuplu.


Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

3-Dicț ionar Python


Introducere
• Fiecare cheie este separată de valoarea sa printr-o două puncte (:), elementele sunt separate prin virgule,
ș i întregul lucru este închis în acolade.
• O dicț ionar gol fără niciun element este scris cu doar două acolade, aș a: {}.
• Cheile sunt unice într-un dicț ionar, în timp ce valorile pot să nu fie.
• Valorile unui dicț ionar pot fi de orice tip, dar cheile trebuie să fie de un tip de date imutabil.
tipuri precum ș iruri, numere sau tuple.

Accesarea valorilor într-un dicț ionar:


Pentru a accesa elementele unui dicț ionar, poț i folosi parantezele pătrate familiare împreună cu cheia pentru
obț ine valoarea sa.

Următorul este un exemplu simplu −

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

print "dict['Nume']: ", dict['Nume']


print "dict['Vârstă']: ", dict['Vârstă']

Când codul de mai sus este executat, acesta produce următorul rezultat -

dict['Name']: Zara
dict['Age']: 7

Dacă încercăm să accesăm un element de date cu o cheie care nu face parte din dicț ionar, vom primi o eroare
după cum urmează–

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

print "dict['Alice']: ", dict['Alice']

Când codul de mai sus este executat, produce următorul rezultat -

dict['Alice']:
Urmează înapoi (apelul cel mai recent a fost efectuat ultima dată):

Fiș ierul "[Link]", linia 4, în <modul>


print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Actualizarea dicț ionarului

Poț i actualiza un dicț ionar adăugând o nouă intrare sau o pereche cheie-valoare, modificând o intrare existentă.
inserarea sau ș tergerea unei intrări existente, aș a cum este prezentat mai jos în exemplul simplu -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

dict['Age'] = 8; # update existing entry


dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']


print "dict['School']: ", dict['School']

Când codul de mai sus este executat, acesta produce următorul rezultat −

dict['Age']: 8
dict['School']: DPS School

Ș tergeț i elementele dicț ionarului


Puteț i fie să eliminaț i elemente individuale din dicț ionar, fie să ș tergeț i întreaga conț inut a unui dicț ionar.
De asemenea, poț i ș terge întregul dicț ionar într-o singură operaț iune.

Pentru a elimina în mod explicit un întreg dictionar, folosiț i pur ș i simplu declaraț ia del. Următoarea este o simplă
exemplu −

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

del dict['Name']; # elimină intrarea cu cheia 'Name'


[Link](); elimina toate intrările din dicț ionar
del dict ; # ș terge întreaga dicț ionar

print "dict['Vârstă']: ", dict['Vârstă']


print "dict['Ș coală']: ", dict['Ș coală']

Acest lucru produce următorul rezultat. Reț ineț i că este generată o excepț ie deoarece după dict-ul afterdel
dicț ionarul nu mai există

dict['Age']:
Urmează apelul recent (cea mai recentă apelare a fost):

Fiș ierul "[Link]", linia 8, în <modul>


print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Proprietăț ile cheilor din dicț ionar


Valorile din dicț ionar nu au restricț ii. Ele pot fi orice obiect Python arbitrar, fie standard
obiecte sau obiecte definite de utilizator. Cu toate acestea, acelaș i lucru nu este valabil pentru chei.

Există două puncte importante de reț inut despre cheile dicț ionarului -

a) Nu se permite mai mult de o intrare pe cheie. Ceea ce înseamnă că nu este permisă nicio cheie duplicată. Când
chei duplicate întâlnite în timpul atribuirii, ultima atribuire câș tigă. De exemplu −

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}

print "dict['Name']: ", dict['Name']

Când codul de mai sus este executat, produce următorul rezultat -

dict['Name']: Manni

(b) Cheile trebuie să fie imutabile. Asta înseamnă că poț i folosi ș iruri de caractere, numere sau tupluri ca dicț ionar.
chei, dar ceva de genul ['key'] nu este permis. Următorul este un exemplu simplu:

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7}

print "dict['Name']: ", dict['Name']

Când codul de mai sus este executat, produce următorul rezultat -


Urmează (cea mai recentă apelare ultimă):
Fiș ierul "[Link]", linia 3, în <modul>
dict = {['Name']: 'Zara', 'Age': 7};
TypeError: obiectele lista nu sunt hashable

Funcț ii ș i metode încorporate ale dicț ionarului


Python include următoarele funcț ii pentru dicț ionare −

SN Funcț ie cu descriere
1 cmp(dict1, dict2)

Compara elementele ambelor dicț ionare.


2 len(dict)
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Oferă lungimea totală a dicț ionarului. Aceasta ar fi egală cu numărul de elemente din
dicț ionar.
3 str(dict)

Produce o reprezentare a unui dicț ionar care poate fi tipărită


4 tip(variable)

Returnează tipul variabilei transmise. Dacă variabila transmisă este un dicț ionar, atunci va returna
un tip de dicț ionar.

Python include următoarele metode pentru dicț ionare −

SN Methods with Description


1 [Link]()

Elimină toate elementele din dicț ionar


2 [Link]ă()

Returnează o copie superficială a dicț ionarului


3 [Link]()

Creează un nou dicț ionar cu chei din seq ș i valori setaţi la value.
4 [Link](cheie, default=None)

Forkeykey, returnează valoarea sau valoarea implicită dacă cheia nu se află în dicț ionar
5 dict.contine_cheie(key)

Returnează adevărat dacă cheia este în dicț ionar, fals altfel


6 [Link]()

Returnează o listă de perechi de tuple (cheie, valoare) de tip dict


7 [Link]()

Returnează lista cheilor dicț ionarului dict


Compilată de: Prof. Mohd. Shahid Subiect: Programare Python Clasă: SYBSc(I.T) SEM - III

Fiș iere I/O Python


Acest capitol acoperă toate funcț iile de bază I/O disponibile în Python. Pentru mai multe funcț ii, te rog
consultaț i documentaț ia standard Python.

Tipărirea pe ecran
Cea mai simplă modalitate de a produce output este utilizarea instrucț iunii print, unde poț i trece zero sau mai multe
expresii separate prin virgule. Această funcț ie converteș te expresiile pe care le transmiț i într-un ș ir
ș i scrie rezultatul în ieș irea standard astfel −

#!/usr/bin/python

Python este într-adevăr un limbaj grozav, nu-i aș a?

Acest lucru produce următorul rezultat pe ecranul standard −

Python este într-adevăr un limbaj grozav, nu-i aș a?

Citirea intrării de la tastatură

Python oferă două funcț ii încorporate pentru a citi un rând de text din inputul standard, care prin
defaul vine de la tastatură. Aceste funcț ii sunt -

• input brut
• intrare

Funcț ia_theraw_input
Funcț ia Theraw_input([prompt]) citeste o linie de la inputul standard ș i o returnează ca un ș ir.
(eliminând newline-ul de la final).

#!/usr/bin/python

str = raw_input("Enter your input: ");


Received input is : , str

Aceasta te îndeamnă să introduci orice ș ir de caractere ș i va afiș a acelaș i ș ir pe ecran. Când eu


am tastat "Bună Python!", iar outputul său este aș a −

Bună Python
Salut Python
Compilată de: Prof. Mohd. Shahid Subject : Python Programming Clasa: SYBSc(I.T) SEM - III

TheinputFunction
Funcț ia theinput([prompt]) este echivalentă cu raw_input, cu excepț ia faptului că presupune că inputul este o
o expresie Python validă ș i îț i returnează rezultatul evaluat.

#!/usr/bin/python

str = input("Introduceț i intrarea dvs.: ");


Receputul de intrare este:

Acest lucru ar produce următorul rezultat faț ă de intrarea introdusă -

[x*5 pentru x în interval(2,10,2)]


[10, 20, 30, 40]

Deschiderea ș i închiderea fiș ierelor

Până acum, ai citit ș i scris pe intrarea ș i ieș irea standard. Acum, vom vedea
cum să foloseș ti fiș ierele de date actuale.

Python oferă funcț ii ș i metode de bază necesare pentru a manipula fiș iere în mod implicit. Puteț i
faceț i cea mai mare parte a manipulării fiș ierelor folosind un obiect de fiș ier.

Funcț iaDeschisă
Înainte de a putea citi sau scrie un fiș ier, trebuie să-l deschizi folosind funcț ia open() încorporată în Python.
Această funcț ie creează un obiect de tip fiș ier, care ar fi utilizat pentru a apela alte metode de suport.
asociat cu acesta.
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Sintaxă
obiect de fiș ier = deschide(file_nume [, mod_acces][, tamponare])

Iată detaliile parametrilor:

• file_name:The file_name argument is a string value that contains the name of the file
pe care vrei să îl accesezi.
• access_mode:The access_mode determines the mode in which the file has to be opened,
adică, citire, scriere, adăugare etc. O listă completă a valorilor posibile este dată mai jos în
tabel. Acesta este un parametru opț ional, iar modul de acces la fiș ier implicit este citire (r).
• buffering: Dacă valoarea buffer-ului este setată pe 0, nu are loc nicio înbufrare. Dacă buffering-ul
valoarea este 1, tamponarea pe linii este efectuată în timp ce accesaț i un fiș ier. Dacă specificaț i tamponarea
valoare ca un întreg mai mare decât 1, atunci acț iunea de bufferizare este efectuată cu indicatorul
dimensiunea bufferului. Dacă este negativă, dimensiunea bufferului este cea implicită a sistemului (comportament implicit).

Iată o listă a diferitelor moduri de a deschide un fiș ier −

Moduri Description
r Deschide un fiș ier doar pentru citire. Punctul de control al fiș ierului este plasat la începutul fiș ierului.
Aceasta este modul implicit.
rb Deschide un fiș ier pentru citire doar în format binar. Punctul de fiș ier este plasat la
începutul fiș ierului. Acesta este modul implicit.
r+ Deschide un fiș ier atât pentru citire, cât ș i pentru scriere. Punctul de fiș ier este plasat la începutul
fiș ierul.
rb+ Deschide un fiș ier pentru citire ș i scriere în format binar. Punctul de fiș ier este plasat la
începutul fiș ierului.
w Deschide un fiș ier pentru scriere doar. Suprascrie fiș ierul dacă fiș ierul există. Dacă fiș ierul nu există
exista, creează un fiș ier nou pentru scriere.
wb Deschide un fiș ier pentru scriere doar în format binar. Suprascrie fiș ierul dacă fiș ierul există. Dacă
fiș ierul nu există, crează un fiș ier nou pentru scriere.
w+ Deschide un fiș ier atât pentru scriere, cât ș i pentru citire. Suprascrie fiș ierul existent dacă acesta există.
Dacă fiș ierul nu există, creează un fiș ier nou pentru citire ș i scriere.
wb+ Deschide un fiș ier atât pentru scriere, cât ș i pentru citire în format binar. Suprascrie fiș ierul existent
dacă fiș ierul există. Dacă fiș ierul nu există, creează un fiș ier nou pentru citire ș i scriere.
a Deschide un fiș ier pentru adăugare. Punctul de acces al fiș ierului se află la sfârș itul fiș ierului dacă acesta există.
Adică, fiș ierul este în modul append. Dacă fiș ierul nu există, creează un fiș ier nou pentru
scriere.
Compilat de : Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Atributele obiectului fiș ierului

Odată ce un fiș ier este deschis ș i ai un obiect de fiș ier, poț i obț ine diverse informaț ii legate de acesta.
fiș ier.

Iată o listă cu toate atributele legate de obiectul fiș ier:

Atribute Description
[Link] Returnează adevărat dacă fiș ierul este închis, fals în caz contrar.
[Link] Returnează modul de acces cu care fiș ierul a fost deschis.
[Link] Returnează numele fiș ierului.
[Link] Returnează fals dacă spa ț iul este cerut explicit cu print, adevărat în alte cazuri.

Exemplu
#!/usr/bin/python

Deschide un fiș ier


fo = open("[Link]", "wb")
Numele fiș ierului:
print "Închis sau nu : ", [Link]
Deschidere mod : , [Link]
Printaț i "Steagul softspace: ", [Link]

Aceasta produce următorul rezultat -

Numele fiș ierului: [Link]


Closed or not : False
Mod de deschidere : wb
Softspace flag : 0
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasă: SYBSc(I.T) SEM - III

Metoda close()
Metoda close() a unui obiect de fiș ier ș terge orice informaț ie nescrisă ș i închide obiectul de fiș ier.
după care nu se mai poate scrie.

Python închide automat un fiș ier atunci când obiectul de referinț ă al unui fiș ier este reasignat unui alt fiș ier.
Este o practică bună să foloseș ti metoda close() pentru a închide un fiș ier.

Sintaxă
[Link]();

Exemplu
#!/usr/bin/python

Deschide un fiș ier


fo = open("[Link]", "wb")
Numele fiș ierului:

Închide fiș ierul deschis


[Link]()

Aceasta produce următorul rezultat −

Numele fiș ierului: [Link]

Citirea ș i scrierea fiș ierelor


Obiectul de fiș ier oferă un set de metode de acces pentru a ne uș ura viaț a. Am vedea cum să
metodele useread() ș i write() pentru a citi ș i scrie fiș iere.

Metoda thewrite()
Metoda write() scrie orice ș ir într-un fiș ier deschis. Este important de menț ionat că ș irurile Python
poate avea date binare ș i nu doar text.

Metoda write() nu adaugă un caracter denewline ('\n') la sfârș itul ș irului −


Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa: SYBSc(I.T) SEM - III

Sintaxă
[Link](string);

Aici, parametrul trecut este conț inutul care va fi scris în fiș ierul deschis.

Example
#!/usr/bin/python

Deschide un fiș ier


fo = open("[Link]", "wb")
Python este un limbaj grozav. Da, este grozav!!

Închideț i fiș ierul deschis


[Link]()

Metoda de mai sus ar crea fiș ierul [Link] ș i ar scrie conț inutul dat în acel fiș ier ș i în final
ar închide acel fiș ier. Dacă ai deschide acest fiș ier, ar avea următorul conț inut.

Python este un limbaj grozav.


Da, este grozav!!

Metoda Theread()
Metoda read() citeș te un ș ir dintr-un fiș ier deschis. Este important de menț ionat că ș irurile Python pot
am date binare. în afară de datele textuale.

Sintaxă
[Link]([număr]);

Aici, parametrul trecut este numărul de octeț i care trebuie citiț i din fiș ierul deschis. Această metodă începe
citind de la începutul fiș ierului ș i dacă countul lipseș te, atunci încearcă să citească cât mai mult posibil
posibil, poate până la sfârș itul fiș ierului.
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa: SYBSc(I.T) SEM - III

Exemplu

Să luăm un fiș ier [Link], pe care l-am creat mai sus.

#!/usr/bin/python

Deschide un fiș ier


fo = deschide("[Link]", "r+")
str = [Link](10);
Afiș ează "Text citit este : ", str
Închide fiș ierul deschis
[Link]()

Acest lucru produce următorul rezultat −

Python este

Renaming and Deleting Files


Modulul Pythonos oferă metode care te ajută să efectuezi operaț iuni de procesare a fiș ierelor, cum ar fi
renumirea ș i ș tergerea fiș ierelor.

Pentru a utiliza acest modul, trebuie mai întâi să-l importaț i ș i apoi puteț i apela orice funcț ii corespunzătoare.

Metoda rename()
Metoda therename() ia două argumente, numele curent al fiș ierului ș i noul nume al fiș ierului.

Syntax
[Link](numele_fisierului_curent, noul_nume_fisierului)

Exemplu

Următorul este un exemplu pentru a schimba numele unui fiș ier existent [Link]:

#!/usr/bin/python
importa os

Renunț aț i la un fiș ier din [Link] în [Link]


[Link]( "[Link]", "[Link]" )
Compilat de : Prof. Mohd. Shahid Subject : Python Programming Clasa: SYBSc(I.T) SEM - III

Metoda Theremove()
Puteț i folosi metoda theremove() pentru a ș terge fiș iere furnizând numele fiș ierului care urmează să fie ș ters.
ca argument.

Sintaxă
[Link](numele_fisierului)

Exemplu

Următorul este exemplul pentru a ș terge un fiș ier existent [Link]−

#!/usr/bin/python
importaț i os

Ș terge fiș ierul [Link]


[Link]("[Link]")

Directoare în Python
Toate fiș ierele sunt conț inute în diferite directoare, iar Python nu are nicio problemă să gestioneze acestea.
Theosmodule are mai multe metode care te ajută să creezi, să ș tergi ș i să schimbi directoare.

Metoda mkdir()
Puteț i utiliza metoda mkdir() a modulului os pentru a crea directoare în directorul curent.
Trebuie să furnizezi un argument pentru această metodă care conț ine numele directorului care trebuie să fie
creat.

Sintaxă
[Link]("newdir")

Exemplu

Următorul este un exemplu pentru a crea un director numit test în directorul curent -

#!/usr/bin/python
importa os

Creează un director "test"


[Link]("test")
Compilat de: Prof. Mohd. Shahid Subiect: Programare Python Clasa: SYBSc(I.T) SEM - III

Metoda Thechdir()
Puteț i folosi metoda chdir() pentru a schimba directorul curent. Metoda chdir() primeș te un
argument, care este numele directorului pe care doriț i să-l faceț i directorul curent.

Sintaxă
[Link]("newdir")

Exemplu

Următorul este un exemplu pentru a intra în directorul "/home/newdir" −

#!/usr/bin/python
importaț i os

Schimbarea unui director în "/home/newdir"


[Link]("/home/newdir")

Metoda getcwd()
Metoda getcwd() afiș ează directorul de lucru curent.

Sintaxă
[Link]()

Exemplu

Următorul este exemplul pentru a afla directorul curent -

#!/usr/bin/python
importaț i os

Acesta ar da locaț ia directorului curent


[Link]()

Metoda Thermdir()
Metoda thermdir() ș terge directorul, care este trecut ca argument în metodă.

Înainte de a ș terge un director, toate conț inuturile acestuia trebuie eliminate.

Sintaxă:
[Link]('dirname')
Compilat de : Prof. Mohd. Shahid Subiect: Programare Python Clasa : SYBSc(I.T) SEM - III

Exemplu

Următorul este un exemplu pentru a elimina directorul "/tmp/test". Este necesar să oferiț i calea completă.
numele directorului, altfel ar căuta acel director în directorul curent.

#!/usr/bin/python
importa os

Aceasta ar ș terge directorul "/tmp/test".


[Link]( "/tmp/test" )
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa: SYBSc(I.T) SEM - III

4-Excepț ii Python

Introducere
Python oferă două caracteristici foarte importante pentru a gestiona orice eroare neaș teptată în Python.
programe ș i pentru a adăuga capacităț i de depanare în ele −

• Gestionarea excepț iilor: Acest subiect va fi acoperit în acest tutorial. Iată o listă standard
Excepț ii disponibile în Python:
• Afirmatii: Acest lucru ar fi acoperit in Afirmatii in Python

Lista excepț iilor standard −

EXCEPȚIE DESCRIPTION
NUME
Excepț ie Clasa de bază pentru toate excepț iile
Oprire iteraț ie Aruncat atunci când metoda next() a unui iterator nu indică către nimic
obiect.
SystemExit A fost ridicată de funcț ia [Link]().
StandardError Clasa de bază pentru toate excepț iile încorporate, cu excepț ia StopIteration ș i
SystemExit.
Eroare aritmetică Clasa de bază pentru toate erorile care apar în calculul numeric.
OverflowError Generat atunci când o calculare depăș eș te limita maximă pentru un tip numeric.
Eroare de punct flotant Ridicat atunci când un calcul în punct flotant eș uează.
ZeroDivisionError Generat atunci când are loc o împărț ire sau un modul cu zero pentru toate numerele
tipuri.
Eroare de aserț iune A fost generat în caz de eș ec al declaraț iei Assert.
AttributeError Ridicat în cazul eș ecului referinț ei sau atribuirii atributului.
EOFError Ales când nu există input din niciunul dintre raw_input() sau input()
funcț ia ș i sfârș itul fiș ierului este atins.
ImportError A ridicat când o declaraț ie de import eș uează.
Interupere de tastatură Generat când utilizatorul întrerupe execuț ia programului, de obicei prin apăsarea
Ctrl+c.
LookupError Clasa de bază pentru toate erorile de căutare.
IndexError Generat atunci când un index nu este găsit într-o secvenț ă.

KeyError Generată atunci când cheia specificată nu este găsită în dicț ionar.
Eroare de nume Ridicat atunci când un identificator nu este găsit în spaț iul de nume local sau global.
Compilat de : Prof. Mohd. Shahid Subiect: Programare Python Clasa : SYBSc(I.T) SEM - III

Asserț iile în Python

• O afirmaț ie este o verificare a sănătăț ii mintale pe care o poț i activa sau dezactiva când ai terminat cu
testarea ta a programului.
• Cea mai simplă modalitate de a gândi la o aserț iune este să o compari cu o instrucț iune if cu creș tere (sau să fii mai...
exact, o declaraț ie de creș tere-dacă-nu). O expresie este testată, iar dacă rezultatul apare
fals, o excepț ie este generată.
• Afirmările sunt efectuate prin declaraț ia assert, cel mai nou cuvânt cheie în Python.
introduse în versiunea 1.5.
• Programatorii pun adesea aserț iuni la începutul unei funcț ii pentru a verifica dacă intrarea este validă, ș i
după un apel de funcț ie pentru a verifica rezultatul valid.

Declaraț ia assert

Când întâlneș te o instrucț iune assert, Python evaluează expresia însoț itoare, care este
sperăm că este adevărat. Dacă expresia este falsă, Python ridică o excepț ie AssertionError.

Sintaxa pentru assert este −

afirmă Expresie[, Argumente]

Dacă afirmaț ia eș uează, Python foloseș te ArgumentExpression ca argument pentru AssertionError.

Excepț iile AssertionError pot fi capturate ș i gestionate ca orice altă excepț ie folosind try-
declaraț ia except, dar dacă nu este gestionată, va termina programul ș i va produce un traceback.

Ce este o excepț ie?


• O excepț ie este un eveniment care apare în timpul execuț iei unui program ș i care perturbă
fluxul normal al instrucț iunilor programului.
• În general, atunci când un script Python întâlneș te o situaț ie cu care nu poate face faț ă, acesta generează
o excepț ie.
• O excepț ie este un obiect Python care reprezintă o eroare.
• Când un script Python ridică o excepț ie, acesta trebuie fie să trateze excepț ia
imediat, altfel se încheie ș i se închide.

Gestionarea unei excepț ii


Dacă ai un cod suspect care ar putea ridica o excepț ie, poț i să-ț i protejezi programul prin
plasează codul suspect într-un bloc atry:. După blocul try:, include o declaraț ie except:.
urmat de un bloc de cod care gestionează problema cât mai elegant posibil.
Compilat de: Prof. Mohd. Shahid Subject : Python Programming Clasa : SYBSc(I.T) SEM - III

Sintaxă

Iată o sintaxă simplă a blocurilor try...except...else −

încearcă:
Îț i faci operaț iunile aici;
......................
exceptExceptionI
Dacă există ExceptionI, atunci executaț i acest bloc.
exceptExceptionII:
Dacă există ExceptionII, atunci execută acest bloc.
......................
altfel:
Dacă nu există excepț ii, atunci execută acest bloc.

Iată câteva puncte importante despre sintaxa menț ionată mai sus -

• O declaraț ie try unică poate avea mai multe declaraț ii except. Acest lucru este util atunci când try
block contains statements that may throw different types of exceptions.
• De asemenea, poț i oferi o clauză except generică, care gestionează orice excepț ie.
• După clauza de excepț ie, poț i include o clauză else. Codul din blocul else
se execută dacă codul din blocul try: nu ridică o excepț ie.
• Blocul else este un loc bun pentru codul care nu are nevoie de protecț ia blocului try:

Exemplu

Acest exemplu deschide un fiș ier, scrie conț inut în fiș ier ș i iese elegant pentru că nu există
nici o problemă −

#!/usr/bin/python

încearcă:
fh = open("testfile", "w")
Aceasta este fiș ierul meu de test pentru gestionarea excepț iilor!!
în afară de IOError:
Eroare: nu pot găsi fiș ierul sau citi datele
altfel:
Conț inutul scris în fiș ier cu succes
[Link]()

Aceasta produce următorul rezultat −


Conț inutul scris în fiș ier a fost realizat cu succes
Compilat de: Prof. Mohd. Shahid Subiect: Programare Python Clasă : SYBSc(I.T) SEM - III

Exemplu

Acest exemplu încearcă să deschidă un fiș ier unde nu aveț i permisiune de scriere, aș a că ridică un
excepț ie

#!/usr/bin/python

încearcă:
fh = open("testfile", "r")
Acesta este fiș ierul meu de test pentru gestionarea excepț iilor!!
cu excepț ia IOError:
Eroare: nu pot găsi fiș ierul sau citi datele
altfel:
Conț inutul scris în fiș ier cu succes

Aceasta produce următorul rezultat −

Eroare: nu pot găsi fiș ierul sau citi datele

Clauza try-finally
Poț i folosi afinally:block împreună cu atry:block. Blocul finally este un loc în care poț i pune orice cod
care trebuie să fie executat, indiferent dacă blocul try a generat o excepț ie sau nu. Sintaxa try-finally
declaraț ia este aceasta −

încercă:
Îț i desfăș ori operaț iunile aici;
......................
Din cauza oricărei excepț ii, aceasta poate fi omisă.
în sfârș it:
Aceasta ar fi întotdeauna executată.
......................

Nu poț i folosi clauza else împreună cu o clauză finally.

Exemplu
#!/usr/bin/python

încearcă:
fh = open("testfile", "w")
Acesta este fiș ierul meu de test pentru gestionarea excepț iilor!!
în sfârș it:
Eroare: nu pot găsi fiș ierul sau citi datele

Dacă nu aveț i permisiunea de a deschide fiș ierul în modul de scriere, atunci acest lucru va produce
rezultatul următor:

Error: can't find file or read data

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