Note Python Unitatea - III
Note Python Unitatea - III
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–
#!/usr/bin/python
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
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
Result :
Valoare disponibilă la indexul 2 :
1997
Noua valoare disponibilă la indexul 2 :
2001
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
De fapt, listele răspund la toate operaț iile generale de secvenț ă pe care le-am folosit pe ș iruri anterior.
capitol
SN Funcț ie cu descriere
1 cmp(lista1, lista2)
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 = ();
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.
#!/usr/bin/python
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
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
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ă
De fapt, tuplele răspund la toate operaț iile generale de secvenț ă pe care le-am folosit pe ș iruri în partea anterioară
chapter −
SN Funcț ie cu descriere
1 compară(tuple1, tuple2)
5 tuplu(seq)
#!/usr/bin/python
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['Alice']:
Urmează înapoi (apelul cel mai recent a fost efectuat ultima dată):
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
Când codul de mai sus este executat, acesta produce următorul rezultat −
dict['Age']: 8
dict['School']: DPS School
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
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):
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']: 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
SN Funcț ie cu descriere
1 cmp(dict1, dict2)
Oferă lungimea totală a dicț ionarului. Aceasta ar fi egală cu numărul de elemente din
dicț ionar.
3 str(dict)
Returnează tipul variabilei transmise. Dacă variabila transmisă este un dicț ionar, atunci va returna
un tip de dicț ionar.
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)
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 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
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
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])
• 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).
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
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.
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
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
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.
Sintaxă
[Link](string);
Aici, parametrul trecut este conț inutul care va fi scris în fiș ierul deschis.
Example
#!/usr/bin/python
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.
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
#!/usr/bin/python
Python este
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
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
#!/usr/bin/python
importaț i os
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
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
#!/usr/bin/python
importaț i os
Metoda getcwd()
Metoda getcwd() afiș ează directorul de lucru curent.
Sintaxă
[Link]()
Exemplu
#!/usr/bin/python
importaț i os
Metoda Thermdir()
Metoda thermdir() ș terge directorul, care este trecut ca argument în metodă.
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
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
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
• 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.
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.
Sintaxă
î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]()
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
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ă.
......................
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: