Python Modsol-Tie
Python Modsol-Tie
Operatorul este un simbol care spune compilatorului să efectueze o funcț ie matematică sau logică specifică.
În Python, o valoare singulară fără operatori este de asemenea considerată o expresie, deș i se evaluează
doar pentru sine.
Ordinea operaț iunilor (numită ș i precedenț ă) a operatorilor matematici Python este similară cu cea a
mathematics i.e., **, *, /, //, %, +, -
Asociativitatea este, de asemenea, similară ș i se urmează de la stânga la dreapta.
2 Definiț i o funcț ie Python cu parametrii adecvaț i pentru a genera numere prime între două întregi 8
valori. Scrieț i un program Python care acceptă două valori întregi m ș i n (notă: m>0, n>0 ș i m < n)
ca intrări ș i să treacă aceste valori funcț iei. Mesajele de eroare adecvate ar trebui să fie afiș ate dacă
condiț iile pentru valorile de intrare nu sunt respectate.
3 Explicaț i domeniul local ș i global în programele Python. Ce sunt variabilele locale ș i globale? Cum puteț i 6
forț ează o variabilă într-o funcț ie să facă referire la variabila globală?
Parametrii ș i variabilele care sunt atribuite într-o func ț ie apelată se spune că există în acea
scopul local al funcț iei.
Variabilele care sunt atribuite în afara tuturor funcț iilor se spune că există în domeniul global.
O variabilă care există într-un domeniu local se numeș te variabilă locală, în timp ce o variabilă care există în
domeniul global este numit variabilă globală.
Scopurile contează din mai multe motive:
1. Codul în domeniul global nu poate folosi nicio variabilă locală.
2. Cu toate acestea, un spa ț iu de nume local poate accesa variabile globale.
3. Codul din domeniul local al unei func ț ii nu poate folosi variabile din niciun alt domeniu local.
4. Putem folosi acela ș i nume pentru variabile diferite dacă se află în domenii diferite. Adică, există
poate exista o variabilă locală numită spam ș i o variabilă globală numită de asemenea spam.
Putem forț a o variabilă într-o funcț ie să facă referire la variabila globală folosind declaraț ia globală ca
afiș at mai jos:
Program Output
Pentru că ouăle sunt declarate globale în partea de sus a funcț iei spam()❶, când ouăle sunt setate pe 'spam'❷, asta
atributul este realizat pentru ouăle cu domeniu global. Nici o variabilă locală ouă nu este creată.
4 What are Comparison and Boolean operators? List all the Comparison and Boolean operators in Python 6
ș i explică utilizarea acestor operatori cu exemple adecvate.
Operatorii de comparaț ie: Aceș tia sunt utilizaț i pentru a compara două valori ș i a evalua la o singură
Valoare booleană.
Operatori Boolean: Cei trei operatori Boolean (ș i, sau, ș i nu) sunt utilizaț i pentru a compara Boolean
valori.
i. operatorul ș i: Operatorul ș i evaluează o expresie ca Adevărat dacă ambele valori boolean sunt
sunt Adevărate; altfel, evaluează la Fals.
ii. operatorul or: Operatorul or evaluează o expresie ca fiind Adevărat dacă oricare dintre cele două valori Booleene
valorile sunt Adevărat. Dacă ambele sunt Fals, se evaluează ca Fals.
iii. operatorul not: Operatorul not func ț ionează pe un singur valori (sau expresii) booleană.
Operatorul not evaluează pur ș i simplu la valoarea Boolean opusă. La fel ca ș i folosirea dublă
negativelor în vorbire ș i scriere, poț i învârti operatorii de nereuș ită❶, deș i niciodată nu există
nu există niciun motiv pentru a face asta în programele reale.
5 Definiț i o funcț ie Python cu parametrii potriviț i pentru a genera primele N numere Fibonacci. Primele două 8
Numerele Fibonacci sunt 0 ș i 1, iar secvenț a Fibonacci este definită ca o funcț ie F, având Fn= Fn-1 + Fn-2.
Scrie un program Python care acceptă o valoare pentru N (unde N > 0) ca input ș i transmite această valoare la
Funcț ie. Afiș aț i un mesaj de eroare corespunzător dacă condiț ia pentru valoarea de intrare nu este respectată.
def fibonacci(n):
dacă n < 0:
input incorect
elif n == 1:
return 0
elif n == 2:
returnează 1
altfel:
returnează fibonacci(n-1) + fibonacci(n-2)
altfel:
Introduceti valorile corecte
6 Ce este gestionarea excepț iilor? Cum sunt gestionate excepț iile în Python? Scrie un program Python cu 6
cod de gestionare a excepț iilor pentru a rezolva situaț ia de eroare de împărț ire la zero.
Gestionarea excepț iilor: Dacă nu dorim să se blocheze programul din cauza erorilor, ci vrem ca
programul de detectare a erorilor, gestionarea acestora ș i continuarea execuț iei se numeș te gestionarea excepț iilor.
Excepț iile pot fi gestionate cu instrucț iuni try ș i except.
The code that could potentially have an error is put in a try clause. The program execution moves
to the start of a following except clause if an error happens.
Program:
În programul de mai sus, dacă al doilea număr dat de utilizator ca input este 0, atunci acesta prinde eroarea.
ș i declaraț ia de excepț ie va fi tipărită.
7 Scrie un program Python pentru a găsi aria pătratului, dreptunghiului ș i cercului. Afiș ează rezultatele. Primeș te input. 6
de la utilizator.
Ocluzia unei instruc ț iuni if (adică blocul care urmează instruc ț iunii if) se va executa dacă
condiț ia afirmaț iei este adevărată. Clauza este sărită dacă condiț ia este falsă.
În limbaj simplu, o instrucț iune if ar putea fi citită ca, „Dacă această condiț ie este adevărată, execută codul în
clauză.
În Python, o instrucț iune if constă din următoarele:
1. Cuvântul cheie if
2. O condi ț ie (adică o expresie care evaluează la Adevărat sau Fals)
3. Un două puncte
Diagrama de flux:
2. declara ț ii else:
O clauză if poate fi urmată opț ional de o declaraț ie else. Clauza else este executată doar
când condiț ia declaraț iei if este falsă.
În engleză simplă, o instrucț iune else ar putea fi citită ca, „Dacă această condiț ie este adevărată, execută acest cod.
Altfel, execută acel cod.
O instrucț iune else nu are o condiț ie, iar în cod, o instrucț iune else constă întotdeauna din
urmând:
1. Cuvântul cheie else
2. Un dosar
3. Începând de pe următoarea linie, un bloc de cod indentat (numit clauza else)
Exemplu:
Diagramă de flux:
Dacă avem mai mult de o condiț ie, atunci se foloseș te declaraț ia elif.
Declaraț ia elif este o declaraț ie „altfel dacă” care urmează întotdeauna unei declaraț ii if sau alte declaraț ii elif.
Oferă o altă condiț ie care este verificată doar dacă toate condiț iile anterioare au fost False.
În cod, o declaraț ie elif constă întotdeauna din următoarele:
Cuvântul cheie elif
2. O condi ț ie (adică o expresie care evaluează la Adevărat sau Fals)
3. Un doisprezece
Diagramă de flux:
Exemplu:
Declaraț ia break
Prima linie❶ creează o buclă infinită; este o buclă while al cărei condiț ie este întotdeauna Adevărat.
Execuț ia programului va intra întotdeauna în buclă ș i va ieș i din ea doar când există o instrucț iune break.
executat.
Programul îi cere utilizatorului să tasteze numele❷.
În timp ce execuț ia este încă în interiorul buclei while, o instrucț iune if este executată.❸ a verifica
dacă numele este egal cu numele introdus.
Dacă această condiț ie este adevărată, instrucț iunea break este executată❹, iar execuț ia iese din buclă
print('Mulț umesc!')❺.
Declaraț ia continue
Declaraț ia continue este folosită pentru a sări imediat înapoi la începutul buclei ș i a reevalua
condiț ia buclei.
O declaraț ie continue conț ine pur ș i simplu cuvântul cheie continue.
10 Ce sunt funcț iile definite de utilizator? Cum putem trece parametrii în funcț iile definite de utilizator? Explicaț i cu 7
exemplu potrivit.
Funcț iile definite de utilizator sunt mini-programele scrise de utilizator pentru a efectua o sarcină specifică.
Funcț iile încep întotdeauna cu cuvântul cheie „def”.
Putem trece parametrii funcț iilor definite de utilizator, aș a cum se arată mai jos:
Definiț ia funcț iei hello() în acest program are un parametru numit name❶.
Un parametru este o variabilă în care un argument este stocat atunci când o funcț ie este apelată. Prima dată
funcț ia hello() este apelată, cu argumentul 'Alice'❸.
Execuț ia programului intră în funcț ie, iar variabila nume este setată automat la 'Alice',
ceea ce este tipărit de instrucț iunea print()❷.
Dacă trebuie să modificăm o variabilă globală dintr-o funcț ie, folosim declaraț ia global.
Dacă avem o linie precum global eggs în vârful unei func ț ii, aceasta îi spune lui Python: „În această
funcț ia, ouăle se referă la variabila globală, aș a că nu crea o variabilă locală cu acest nume.
De exemplu:
Pentru că ouăle sunt declarate globale la începutul funcț iei spam()❶, când ouăle sunt setate pe 'spam'❷, acesta
atribuit este realizat pentru ouăle cu domeniu global. Nici o variabilă locală de ouă nu este creată.
Există patru reguli pentru a spune dacă o variabilă se află în un domeniu local sau global:
1. Dacă o variabilă este folosită în domeniul global (adică, în afara tuturor func ț iilor), atunci este întotdeauna
o variabilă globală.
2. Dacă există o declara ț ie globală pentru acea variabilă într-o func ț ie, este o variabilă globală.
3. În caz contrar, dacă variabila este utilizată într-o instruc ț iune de atribuire în func ț ie, este una locală
variabilă.
4. Dar dacă variabila nu este utilizată într-o instruc ț iune de asignare, este o variabilă globală.
12 Scrie o func ț ie care calculează ș i returnează adunarea, scăderea, înmul ț irea, împăr ț irea a două 5
întregi. Ia date de la utilizator.
MODULE 2
1 Ce este un dic ț ionar în Python? Cum este diferit de tipul de date List? 6
Explica ț i cum func ț ionează un ciclu for.
poate fi utilizat pentru a parcurge cheile dicț ionarului cu un exemplu.
Dicț ionar: Un dicț ionar este o colecț ie de multe valori. Indicele pentru dicț ionare poate utiliza multe
tipuri diferite de date, nu doar întregi. Indicii pentru dicț ionare se numesc chei, iar o cheie cu atribuirea sa
valoarea asociată se numeș te pereche cheie-valoare. Un dicț ionar este tipărit cu acolade, {}.
Încercarea de a accesa o cheie care nu există într-un dicț ionar va rezulta într-un mesaj de eroare KeyError,
în listă "index în afara intervalului" mesaj de eroare IndexError.
2 Explicaț i metodele tipului de date List în Python pentru următoarele operaț ii cu cod adecvat 8
fragmente pentru fiecare.
(i) Adăugarea valorilor într-o listă ii) Eliminarea valorilor dintr-o listă
(iii) Găsirea unei valori într-o listă iv) Sortarea valorilor dintr-o listă
Pentru a adăuga valori noi într-o listă, se pot folosi metodele append() ș i insert().
Metoda append() adaugă argumentul la sfârș itul listei.
Pentru a elimina valori dintr-o listă, pot fi folosite metodele remove() ș i del().
Declaraț ia del este utilizată atunci când ș tim indexul valorii pe care dorim să o eliminăm din listă.
Metoda remove() este folosită atunci când ș tim valoarea pe care dorim să o eliminăm din listă.
Încercarea de a ș terge o valoare care nu există în listă va rezulta într-o eroare ValueError.
Dacă valoarea apare de mai multe ori în listă, doar prima instanț ă a valorii va fi eliminată.
Primul valoare din listă este la indexul 0, al doilea valoare este la indexul 1, iar al treilea valoare este la
index 2, ș i aș a mai departe. Indicii negative pot fi folosiț i de asemenea.
Exemplu:
Expresia 'Salut ' + spam[0] evaluează la 'Salut ' + 'pisică' deoarece spam[0] evaluează la
ș irul 'pisică'. Această expresie, la rândul ei, evaluează la valoarea ș irului 'Salut pisică'.
Index negativ spam[-1] Recuperează ultima valoare.
Listele de valori numerice sau listele de ș iruri pot fi sortate cu metoda sort().
def Contor(str):
up, low, num, special = 0, 0, 0, 0
pentru i în intervalul (len(str)):
dacă str[i] >= 'A' ș i str[i] <= 'Z':
up += 1
elif str[i] >= 'a' si str[i] <= 'z':
low += 1
elif str[i] >= '0' ș i str[i] <= '9':
num += 1
altfel:
special += 1
print("LETTERS :",up+low,"DIGITS :",num,"UPPERCASE :",up,"LOWERCASE :",low)
introduceț i o propoziț ie
str = input()
Count(str)
Modulul de copiere trebuie importat ș i poate fi folosit pentru a crea o copie duplicată a unei valori mutabile cum ar fi un
listă sau dicț ionar, nu doar o copie a unei referinț e.
[Link]( ): O copie superficială creează un nou obiect care stochează referin ț a originalului.
elemente. Aș adar, o copie superficială nu creează o copie a obiectelor înn nestate, ci doar copiază referinț a
al obiectelor imbricate. Aceasta înseamnă că un proces de copiere nu creează copii ale obiectelor imbricate în sine.
Example:
importaț i copie
old_list = [[1, 1, 1], [2, 2, 2], [3, 3, 3]]
new_list = [Link](old_list)
Prof. Suvika K V, Departamentul de CSE, CBIT, Kolar 2020-21
11
Dezvoltarea aplicaț iilor folosind Python 18CS55
old_list[1][1] = 'AA'
print("Lista veche:", lista_veche)
print("Listă nouă:", new_list)
Ieşire:
[Link]( ): O copiere profundă creează un nou obiect ș i adaugă în mod recursiv copiii obiectelor imbricate.
prezent în elementele originale.
Exemplu:
importaț i copie
old_list = [[1, 1, 1], [2, 2, 2], [3, 3, 3]]
new_list = [Link](old_list)
old_list[1][0] = 'BB'
print("Listă veche:", old_list)
print("Listă nouă:", new_list)
Output:
(i) get( ): Dicț ionarele au o metodă get() care acceptă două argumente:
Cheia valorii de recuperat
O valoare de rezervă care să fie returnată dacă acel cheie nu există.
(ii) elemente( ): Această metodă returnează valorile ș i cheile dic ț ionarului sub formă de tupluri.
Ex:spam = {‘color’ : ‘red’ , ‘age’ : 27}
pentru i în [Link]():
print(i)
Output: (‘color’, ‘red’)
(‘age’, 27)
i) Eliminarea caracterelor de spa ț iu de la început, sfâr ș it sau de pe ambele păr ț i ale unui ș ir.
Metodele de ș ir rjust() ș i ljust() returnează o versiune umplută a ș irului pe care sunt apelate, cu
spaț ii inserate pentru a justifica textul.
Primul argument pentru ambele metode este o lungime întreagă pentru ș irul justificat.
An optionalsecondargument to rjust() and ljust() will specify a fill character other than a space
personaj.
Metoda de ș ir center() funcț ionează la fel ca ljust() ș i rjust() dar centrează textul în loc să-l justifice.
la stânga sau la dreapta.
Lista: O listă este o valoare care conț ine multiple valori într-o succesiune ordonată.
Referinț ă: O referinț ă este o valoare care indică o anumită bucată de date, iar o referinț ă la o listă este o valoare
care indică o listă.
În următoarea linie, se copiază doar referinț a listei din spam în brânză, nu valoarea listei în sine. Asta înseamnă
valorile stocate în spam ș i brânză se referă acum la aceeaș i listă.
Când o funcț ie este apelată, valorile argumentelor sunt copiate în variabilele parametrilor.
când eggs() este apelat, o valoare de returnare nu este folosită pentru a atribui o nouă valoare lui spam.
Chiar dacă spam ș i someParameter conț in referinț e separate, ambele se referă la acelaș i.
listă.
De aceea apelul metodei append('Hello') din interiorul funcț iei afectează lista chiar ș i după aceea
apelul funcț iei a returnat.
import pprint
x = input("Enter a String")
count = {}
pentru caracter în x:
[Link](character, 0)
count[caracter] = count[caracter] + 1
[Link](count)
10 Creezi un joc video fantasy. Structura de date pentru a modela inventarul 7 jucătorului
va fi un dicț ionar unde cheile sunt valori de tip string care descriu obiectul din inventar ș i
valoarea este o valoare întreagă care detaliază câte din acel obiect are jucătorul. De exemplu,
dictionary value {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12} means the
jucătorul are 1 frânghie, 6 tor ț e, 42 monede de aur ș i a ș a mai departe. Scrie o func ț ie numită
displayInventory() that would take any possible “inventory” and display it like the following:
Inventory:
12 săgeț i
42 monede de aur
1 rope
6 torț e
1 cuț it
Numărul total de articole: 63
11 List any six methods associated with string and explain each of them with example. 8
i) upper( ): Această metodă este utilizată pentru a transforma caracterele cu litere mici în caractere cu litere mari.
Ex:x = ‘Python’
x = [Link]()
PYTHON
ii) lower( ):Această metodă este folosită pentru a transforma caracterele mari în caractere mici.
Ex:x = 'Python'
x = [Link]( )
python
iii) isupper( ): Această metodă este utilizată pentru a verifica dacă un ș ir are cel puț in o literă sau complet
ș irul este majuscul sau nu. Returnează o valoare booleană.
Ex:x = 'Python'
x = x.este_mare()
VERITATE
Ex:y = ‘ python’
y = [Link]()
FALS
iv) islower( ):Această metodă este folosită pentru a verifica dacă un ș ir are cel puț in o literă sau complet
ș irul este mic sau nu. Aceasta returnează o valoare Boolean.
Ex:x = 'Python'
x = [Link]( )
ADEVARAT
y = 'PYTHON'
y = [Link]()
FALS
v) isspace( ): Returnează adevărat dacă ș irul constă doar din spaț ii, taburi ș i linii noi ș i nu este
blank.
Ex:‘ ‘.isspace( )
ADEVĂRAT
vi) isalnum( ): Returnează True dacă ș irul constă doar din litere ș i cifre ș i nu este gol.
Ex:‘hello123’.isalnum( )
ADEVĂRAT
Ex:‘ ‘.isalnum( )
FALS
introduceț i un ș ir
ș ir = input()
print([Link]())
def schimbare_caz(string):
result_str = ""
pentru element în ș ir:
dacă item.este_mare():
result_str += [Link]()
altfel:
result_str += [Link]()
returnează result_str
string = input("Enter a String")
print(swapcase(string))
MODULE 3
1 Scrie ț i un program Python pentru a găsi un număr de telefon american (exemplu: 6
415-555-4242) într-un dat
ș ir folosind expresii regulate.
importa re
Introduceti un sir
x = input()
phoneRegex = [Link](r'\d\d\d-\d\d\d-\d\d\d\d')
[Link](x)
2 Descrie diferenț a dintre modulele Python os ș i [Link]. De asemenea, discută despre următoarele 7
metodele modulului os
a) chdir() b) rmdir() c) walk() d) listdir() e) getcwd()
modul os Este din biblioteca standard ș i oferă o modalitate portabilă de a accesa ș i utiliza
funcț ionalitate dependentă de sistemul de operare.
modulul [Link] Este folosit pentru a manipula fiș ierele ș i directoarele căilor ș i numelui căii.
a) chdir( ) Această metodă este folosită pentru a schimba directorul de lucru curent la cel necesar.
director.
Ex: importaț i os
[Link]("C:\Windows\System")
b) rmdir( ) Această metodă este folosită pentru a ș terge folderul de la calea specificată. Acest folder nu trebuie să conț ină nimic.
fiș iere sau foldere.
c) mers() Această metodă este folosită pentru a accesa sau a efectua orice operaț iune asupra fiecărui fiș ier dintr-un folder.
Ex: importaț i os
pentru numele_folder, subfolder, nume_fisiere în [Link]("C:\Windows\System")
print(„Folderul curent este „+foldername)
d) listdir( ) Această metodă returnează o listă care conț ine numele intrărilor din director
dat de cale.
e) getcwd( ) Această metodă este folosită pentru a obț ine directorul de lucru curent.
Ex: importaț i os
[Link]()
Copy:[Link](sursa, destinatie) va copia fiș ierul de la calea sursă la calea destinaț ie.
Mutare: [Link](sursa, destinaț ie) va muta fiș ierul sau folderul din calea sursă în destinaț ie
calea ș i va returna un ș ir al căii absolute a noului locaș .
Ș terge: Putem ș terge un singur fiș ier sau un singur folder gol cu funcț ii din modulul os, în timp ce
pentru a ș terge un dosar ș i tot conț inutul său, folosim modulul shutil.
1. Apelarea [Link](path) va ș terge fi ș ierul de la calea specificată.
2. Apelarea [Link](path) va ș terge folderul de la calea specificată. Acest folder trebuie să fie gol de orice fi ș iere sau
dosare.
3. Apelarea [Link](path) va elimina folderul de la path ș i toate fi ș ierele ș i folderele pe care le con ț ine
va fi de asemenea ș ters.
Ex: importaț i os
pentru nume_fisier în [Link]() :
dacă numele fiș ierului se termină cu '.txt':
[Link](numele_fisierului)
Potrivirea avidă a modelului înseamnă potrivirea cu cel mai lung ș ir posibil. În mod implicit, în python
se urmează potrivirea lacomă.
Ex:
Potrivirea de tip non-greedy înseamnă potrivirea cu cea mai scurtă posibilă ș ir. Ar trebui să fie
reprezentat explicit folosind un semn de întrebare după acolade.
Ex:
metoda search() va returna un obiect Match al primului text găsit în ș irul căutat.
metoda findall() va returna ș irurile fiecărei potriviri în ș irul căutat sub formă de listă de
ș iruri—atâta timp cât nu există grupuri în expresia regulată.
Ex:
Citirea fiș ierului: metodele read( ) ș i readlines( ) sunt utilizate pentru a citi conț inutul unui fiș ier. metoda read( )
citeș te conț inutul unui fiș ier ca o singură valoare de tip ș ir, în timp ce metoda readlines() citeș te fiecare linie ca o
valoare de tip string.
Ex:
Scriere fiș ier: Fiș ierul trebuie deschis pentru a scrie conț inutul într-un fiș ier. Acest lucru se poate face în două
moduri: fie în modul de scriere, fie în modul de adăugare. În modul de scriere, conț inutul fiș ierului existent va fi
supra-scriere în timp ce în modul de ataș are conț inutul va fi adăugat la sfârș itul fiș ierului existent.
Ex: În exemplul de mai jos, fiș ierul [Link] este deschis în modul de scriere, prin urmare, toate conț inuturile vor fi
ș ters ș i Salut lume! Va fi scris.
Ex:În exemplul de mai jos, fiș ierul [Link] este deschis în modul de adăugare, prin urmare, conț inutul va fi adăugat.
salut lume!
6 Definează aser ț iunile. Din ce este formată o afirma ț ie assert în Python? Explică cum 7 func ț ionează aser ț iunile
poate fi folosit în simularea semafoarelor cu snippet de cod Python.
O afirmaț ie: O afirmaț ie este un control de sănătate pentru a ne asigura că codul nu face ceva evident.
greș it.
Dacă verificarea sănătăț ii eș uează, atunci este ridicată o excepț ie AssertionError.
În Python, o instrucț iune assert constă din următoarele:
Cuvântul cheie assert
2. O condi ț ie (adică o expresie care evaluează la Adevărat sau Fals)
3. O virgulă
4. Un ș ir de caractere de afiș at atunci când condiț ia este Falsă
În engleză simplă, semnificaț ia unei afirmaț ii assert este: "Afirm că această condiț ie este adevărată, iar dacă nu,
există un bug undeva în program.
Aceste două variabile vor fi pentru intersecț iile dintre Market Street ș i 2nd Street, ș i Mission
Strada ș i Strada 16. Funcț ia switchLights() va primi un dicț ionar de intersecț ii ca un
argument ș i aprinde lumina.
Dar, în timp ce scriem switchLights(), adăugăm o afirmaț ie pentru a verifica că cel puț in una dintre lumini este
întotdeauna roș u.
Dacă nici o direcț ie de trafic nu are un semafor roș u, atunci apare o eroare de aserț iune.
7 Lista ț i ș i explica ț i codul prescurtat pentru clasele de caractere comune. Ilustra7ț i cum defini ț
clasa ta de caracter?
Clasele de caractere sunt folosite pentru a scurta expresiile regulate. Următoarele sunt câteva dintre prescurtările
cod pentru clase de caractere comune:
Definirea propriei clase de caractere: Propria clasă de caractere poate fi definită folosind paranteze pătrate [ ] ș i
condiț iile necesare pot fi date. Clasa de caractere negative poate fi de asemenea definită folosind simbolul
^.
Ex:
[0-5] Vor potrivi numerele de la 0 la 5
[0-5.] Va potrivi numărul de la 0 la 5 ș i un punct
[a-zA-Z] Va potrivi toate literele mari ș i mici.
[^a-zA-Z] Se va potrivi cu toate caracterele, cu excepț ia literelor mari ș i mici.
Simbolul caret (^) la începutul unui regex este folosit pentru a indica faptul că o potrivire trebuie să aibă loc în
începutul textului căutat.
Semnul dolarului ($) de la sfârș itul regex-ului este folosit pentru a indica că o potrivire trebuie să apară la sfârș itul
textul căutat.
Ambele simboluri pot fi folosite ^ ș i $ împreună pentru a indica că întreaga sir trebuie să se potrivească cu
regex.
Verifică dacă ș irul începe cu Hello.
x = [Link](r'^Hello')
[Link]ă('Salut lume!')
import pyperclip, re
phoneRegex = [Link](r'''(
(\d{3}|\(\d{3}\))? # cod de domeniu
( 3|-|.)? # separator
(\d{3}) primele 3 cifre
(\s|-|\.) # separator
(\d{4}) ultimele 4 cifre
(\s*(ext|x|ext.)\s*(\d{2,5}))? # extensie
)''', [Link])
(\.[a-zA-Z]{2,4}){1,2} # punct-ceva
)'''
matches = []
pentru grupuri în [Link](text):
phoneNum = '-'.join([groups[1], groups[3], groups[5]])
dacă grupuri[8] != '' :
phoneNum += ' x' + groups[8]
[Link](phoneNum)
pentru grupuri în [Link](text):
[Link](groups[0])
o
Deoarece C:\Python34 a fost directorul de lucru atunci când [Link]() a fost apelat, "punctul unic"
folderul reprezintă calea absolută 'C:\Python34'.
Exemplu:
Variabilele pot fi salvate în programele Python în fiș iere de tip shelf binar folosind modulul shelve.
Aceasta ajută programul să restabilească datele în variabile din hard disk.
Modulul shelve ne va permite să adăugăm funcț ii de Salvare ș i Deschidere în programul dvs.
Exemplu:
Pentru a citi conț inutul unui fiș ier ZIP, trebuie creat un obiect ZipFile.
Obiectele ZipFile sunt valori prin care programul interacț ionează cu fiș ierul.
Pentru a crea un obiect ZipFile, se apelează funcț ia [Link](), trecându-i un ș ir de caractere de
numele fiș ierului .zip
Pentru a crea propriile noastre fi ș iere ZIP comprimate, trebuie să deschidem obiectul ZipFile în modul de scriere.
trecând 'w' ca al doilea argument.
Primul argument al metodei write() este un ș ir de caractere care reprezintă numele fiș ierului de adăugat.
Al doilea argument este parametrul tipului de compresie, care spune computerului ce algoritm
ar trebui să folosească pentru a comprima fiș ierele; putem seta întotdeauna această valoare la zipfile.ZIP_DEFLATED
Metoda extractall() pentru obiectele ZipFile extrage toate fiș ierele ș i folderele dintr-un fiș ier ZIP în
directorul de lucru curent.
După ce aț i rulat codul de mai jos, conț inutul [Link] va fi extras în C:\.
Metoda extract() pentru obiectele ZipFile va extrage un singur fiș ier din arhiva ZIP.
MODULUL 4
1 Definiț i clase ș i obiecte în Python. Creaț i o clasă numită Employee ș i iniț ializaț i-o cu 8
ID-ul angajatului ș i numele. Proiectaț i metode pentru:
i) setAge_ pentru a asigna vârsta angajatului.
ii) setSalary_pentru a atribui salariul angajatului.
iii) Afiș aț i pentru a afisa toate informaț iile angajatului.
clasă student( ):
Ex: În exemplul de mai jos, obiectul start a fost trecut ca parametru ș i a fost schimbat de
adăugând secunde la acesta. Prin urmare, este un modifier.
__init__:The init method (short for “initialization”) is a special method that gets invoked when an
obiectul este instanț iat. Parametrii lui __init__ trebuie să aibă aceleaș i denumiri ca ș i atributele.
Ex:
Dacă func ț ia este apelată fără, Dacă func ț ia este apelată cu una, Dacă func ț ia este apelată cu două
argumente apoi, argumente cu valori implicite apoi, suprascrie argumente apoi, suprascrie
va fi imprimat. ora. ora, minute.
>>> timp = Timp() >>> time = Time (9) >>> time = Time(9, 45)
>>> time.print_time() >>> time.print_time() >>> time.print_time()
00:00:00 09:00:00 09:45:00
Dacă funcț ia este apelată cu trei argumente, atunci toate valorile vor fi suprascrise.
Ex:
4 Ce este polimorfismul? Demonstraț i polimorfismul cu o funcț ie pentru a găsi histograma pentru a număra. 7
numărul de ori în care apare fiecare literă într-un cuvânt ș i într-o propoziț ie.
Polimorfism: Funcț iile care lucrează cu mai multe tipuri sunt numite polimorfe. Polimorfismul poate
facilitează reutilizarea codului.
Ex:
Această funcț ie funcț ionează ș i pentru liste, tupluri ș i
chiar ș i dicț ionarele, atâta timp cât elementele lui s
sunt hashabile, astfel încât pot fi folosite ca chei în
d:
Funcț ie pură: Nu modifică niciunul dintre obiectele transmise ca argumente ș i nu are efect,
cum ar fi afiș area unei valori sau obț inerea unei intrări de la utilizator, în afară de returnarea unei valori.
Ex: În exemplul de mai jos, cele două obiecte start ș i durată au fost transmise ca parametri la
funcț ia add_time ș i nu modifică obiectele primite. Prin urmare, este o funcț ie pură.
6 Define ț i diagramă de clasă. Discuta ț i necesitatea reprezentării rela ț iilor dintre clase folosind diagramă de clasă. 7
Diagramă cu exemplu potrivit.
Diagramă de stivă reprezintă starea unui program, diagramă de obiecte reprezintă atributele ș i ale lor
valorile ș i ambele sunt foarte detaliate. Pe când, diagrama de clasă reprezintă reprezentarea abstractă a
structura programului. Există mai multe tipuri de relaț ii între clase:
1. Obiectele dintr-o clasă pot con ț ine referin ț e la obiecte dintr-o altă clasă. De exemplu, fiecare
Racul conț ine o referinț ă la un Punct, iar fiecare Pachet conț ine referinț e la multe Cărț i. Aceasta
un fel de relaț ie se numeș te HAS-A, ca în „un dreptunghi are un punct.”
2. O clasă poate mo ș teni de la alta. Această rela ț ie se nume ș te IS-A, adică, „o Mână este un tip de
o punte.
3. O clasă ar putea depinde de alta în sensul că modificările într-o clasă ar necesita modificări
în cealaltă.
Diagrama de clasă: Este o reprezentare grafică a relaț iilor.
Ex:
relaț ia IS-A Săgeată cu un cap de triunghi gol Mana moș teneș te de la Deck
relaț ie HAS-A Săgeată Standard Deck-ul are referinț e la obiecte de tip card.
Stea(*) Multiplicitate Indică câte cărț i are un pachet.
7 Ce este o clasă? Cum definim o clasă în python? Cum instanț iem clasa ș i cum se face o clasă 8
membrii sunt accesaț i?
Clasa este un tip de date abstract care poate fi definit ca un ș ablon sau o schiț ă care descrie
comportament / stare pe care obiectul tipului său o susț ine.
Definim clasa după cum urmează:
clasa Punct:
„ „ „ Reprezintă un punct în spaț iul 2-D „ „ „
blank = Point( )
blank.x = 10
blank.y = 20
8 Scrieț i un program Python care foloseș te modulul datetime într-o clasă, care ia o dată de naș tere ca input. 7
ș i afiș ează vârsta utilizatorului ș i numărul de zile, ore, minute ș i secunde până la următoarea sa
zi de naș tere.
import datetime
def get_user_birthday():
year = int(input('When is your birthday? [YY] '))
luna = int(input('Când este ziua ta de naș tere? [LL] '))
day = int(input('When is your birthday? [DD] '))
birthday = [Link](year,month,day)
returnează ziua de naș tere
def arata_informatiile(self):
trece
bd = get_user_birthday()
now = [Link]()
c = calculează_date(bd, acum)
print(c)
Supraîncărcarea operatorilor: Capacitatea unui operator existent de a funcț iona pe un tip de date definit de utilizator. Este o formă de polimorfism.
natura oricărui programare orientată pe obiect. Operatorii de bază precum +, -, * pot fi suprasolicitaț i. Aici,
comportamentul unui operator este schimbat ca + astfel încât să funcț ioneze cu un tip definit de utilizator.
Program: Output:
clasa A: 3
def __init__(self, a):
self.a = a -1
ob1 = A(1)
ob2 = A(2)
ob3 = A("Python")
ob4 = A("Applications")
print(ob1 + ob2)
print(ob1 - ob2)
print(ob1 * ob2)
print(ob3 + ob4)
Moș tenire: Capacitatea de a defini o nouă clasă care este o versiune modificată a unei clase definite anterior.
Clasă. Clasa din care o clasă copil moș teneș te se numeș te Clasã Părinte. O nouă clasă creată de
inheriting from an existing class is called asChild classorSub [Link] parent class will be
reprezentat între paranteze în timp ce se defineș te clasa copil. Moș tenirea poate facilita reutilizarea codului ș i de asemenea
Ex:
În exemplul de mai sus, deck este clasa părinte ș i hand este clasa copil, iar clasa hand poate folosi add_card.
ș i pop_card.
MODULUL 5
1 Explicaț i procesul de descărcare a fiș ierelor de pe Web folosind modulul requests ș i, de asemenea, 8
salvarea fiș ierelor descărcate pe hard disk cu un program de exemplu adecvat.
probleme complicate precum erorile de reț ea, problemele de conexiune ș i compresia datelor.
Ex:
Putem salva pagina web într-un fiș ier pe hard disk-ul nostru cu funcț ia standard open() ș i write()
metodă.
Trebuie să deschidem fiș ierul în modul de scriere binar, prin transmiterea ș irului 'wb' ca al doilea argument la
deschide().
Chiar dacă pagina este în text simplu, trebuie să scriem date binare în loc de date text pentru a menț ine
codificarea Unicode a textului.
Ex:
Putem obț ine o listă cu toate numele foilor din registrul de lucru apelând metoda get_sheet_names() .
Fiecare foaie este reprezentată de un obiect Worksheet, pe care îl putem obț ine trecând numele foii
string la metoda get_sheet_by_name() a caietului de lucru.
Putem apela metoda get_active_sheet() a unui obiect Workbook pentru a obț ine foaia de lucru activă a workbook-ului.
foaie.
Ex:
3 Descrie funcț ia getText() utilizată pentru a obț ine textul complet dintr-un fiș ier .docx cu un exemplu de cod. 5
funcț ia getText() acceptă un nume de fiș ier al unui fiș ier .docx ș i returnează o singură valoare de tip ș ir a acestuia
text.
getText() este folosit:
4 Explicaț i cum să recuperaț i un element de pagină web dintr-un obiect BeautifulSoup apelând select 8
metodă ș i transmiterea unui ș ir de selecț ie CSS pentru elementul pe care îl căutaț i cu un
program de exemplu.
Beautiful Soup este un modul pentru extragerea informaț iilor dintr-o pagină HTML.
Pentru a-l instala, va trebui să rulăm pip install beautifulsoup4 din linia de comandă.
În timp ce beautifulsoup4 este numele folosit pentru instalare, pentru a importa Beautiful Soup, rulăm import
bs4.
Funcț ia [Link]() trebuie apelată cu un ș ir care conț ine HTML-ul pe care îl va
parse. Funcț ia [Link]() returnează un obiect BeautifulSoup.
Putem recupera un element de pagină web dintr-un obiect BeautifulSoup apelând metoda select()
ș i trecând un ș ir de selecț ie CSS pentru elementul pe care îl căutaț i.
Ex:
5 Ce este JSON? Explicaț i pe scurt modulul json din Python. Demonstraț i cu un exemplu Python. 6
program.
JSON (pronunț at „JAY-sawn” sau „Jason”) este un format care stochează informaț ii ca JavaScript
cod sursă în fiș iere text.
JSON este util de cunoscut, deoarece multe site-uri oferă conț inut JSON ca o modalitate pentru programe de a
interacț iona cu site-ul. Acest lucru este cunoscut ca furnizarea unei interfeț e de programare a aplicaț iilor (API).
Accesarea unei API este la fel ca accesarea unei alte pagini web printr-un URL. Modulul Json
Modulul json din Python gestionează toate detaliile traducerii între un ș ir cu date JSON ș i
Valorile Python pentru funcț iile [Link]() ș i [Link]().
Poate conț ine valori doar de următoarele tipuri de date: ș iruri de caractere, întregi, float-uri, Booleeni, liste,
dicț ionare ș i NoneType.
JSON nu poate reprezenta obiecte specifice Python, cum ar fi obiectele File, CSV Reader sau Writer
obiecte, obiecte Regex sau obiecte WebElement Selenium.
Exemplu:
Crearea de PDF-uri
Colectivul PyPDF2 pentru obiectele PdfFileReader este obiectele PdfFileWriter, care pot crea noi
Fiș iere PDF.
Crearea unui obiect PdfFileWriter creează doar o valoare care reprezintă un document PDF în Python. Este
nu creează efectiv fiș ierul PDF.
Metoda write() acceptă un obiect File obiș nuit care a fost deschis în modul scriere-binară, care
ia două argumente: ș irul care reprezintă numele fiș ierului PDF pe care dorim să-l avem ș i 'wb' pentru a indica
fiș ierul ar trebui să fie deschis în modul scriere-binar.
Criptarea PDF-urilor
Înainte de a apela metoda write() pentru a salva într-un fiș ier, apelaț i metoda encrypt() ș i transmiteț i-i o parolă
ș ir
Dezvoltarea PDF-urilor
Unele documente PDF au o caracteristică de criptare care le va împiedica să fie citite până când
oricine deschide documentul oferă o parolă.
Toate obiectele PdfFileReader au un atribut isEncrypted care este True dacă PDF-ul este criptat ș i
Fals dacă nu este.
Pentru a citi un PDF criptat, apelaț i funcț ia decrypt() ș i transmiteț i parola ca un ș ir.
După ce programul nostru se finalizează, fiș ierul de pe hard diskul nostru rămâne criptat. Programul nostru va avea
să apeleze din nou decrypt() data viitoare când este executat.
7 Cum descărcăm un fiș ier ș i îl salvăm pe hard disk folosind modulul request? 6
8 Scrieț i un program python pentru a prelua cuvântul cheie de căutare din argumentele liniei de comandă ș i a deschide 6
tab de browser pentru fiecare pagină de rezultate.
[Link]([Link],"[Link]")
Metodele find_elements_* returnează o listă de obiecte WebElement_* pentru fiecare element care se potrive ș te
pe pagină.
10 Scrie un program care ia un număr N din linia de comandă ș i creează o8 matrice de înmul ț ire NxN
tabel în foaia de calcul Excel.
#!/usr/bin/env python3
# Implicit n este 6
dacă len([Link]) > 1:
n = int([Link][1])
altfel:
n=6
# Tipăriț i anteturile
boldFont = Font(bold=True)
pentru i în gama(2, n+2):
multiplier = i - 1
leftCell = 'A' + str(i)
sheet[leftCell] = multiplier
sheet[leftCell].font = boldFont
rightCell = get_column_letter(i) + '1'
sheet[rightCell] = multiplier
sheet[rightCell].font = boldFont
Îngheaț ă anteturile
sheet.freeze_panes = 'B2'
11 Scrie ț i note scurte despre: Crearea, copierea ș i rotirea paginilor cu privire la 6PDF.
Crearea PDF-urilor
Contrapartea lui PdfFileReader din PyPDF2 este obiectul PdfFileWriter, care poate crea noi
fiș iere PDF.
Crearea unui obiect PdfFileWriter creează doar o valoare care reprezintă un document PDF în Python. Aceasta
nu generează efectiv fiș ierul PDF.
Metoda write() ia un obiect File obiș nuit care a fost deschis în modul de scriere-binară, care
ia două argumente: ș irul cu numele pe care dorim să-l aibă fiș ierul PDF ș i 'wb' pentru a indica
fiș ierul trebuie deschis în modul de scriere-binar.
Copierea paginilor
Putem folosi PyPDF2 pentru a copia pagini dintr-un document PDF într-altul. Acest lucru permite să
combină mai multe fiș iere PDF, taie paginile nedorite sau reordonare paginile.
Rotiț i paginile
Paginile unui PDF pot fi de asemenea rotite în paș i de 90 de grade cu rotateClockwise() ș i
metodele rotateCounterClockwise()
12 Scrie un program care să găsească toate fi ș ierele CSV din directorul de lucru 6
curent, să le citească complet
conț inutul fiecărui fiș ier, scrie conț inutul, sărind peste primul rând, într-un nou fiș ier CSV 6.
#! python3
# [Link] - Elimină antetul din toate fiș ierele CSV din directorul curent
# director de lucru.
importa csv, os
[Link]('headerRemoved', exist_ok=True)
dacă readerObj.line_num == 1:
continuă # sări peste prima linie
[Link](row)
[Link]()