CURS ONLINE INTERACTIV

Python 3

PENTRU ÎNCEPĂTORI


"Primul volum Python în română care pur și simplu m-a uimit. Foarte bine explicat și ușor de înțeles." (Alexandru Cosmin)

"Cea mai bună carte de Python din RO." (Iulian Geană)

"Livrare promptă! M-am pus pe treabă!" (Emil Ilie)

TOATE RECENZIILE
Exemple de întrebări la un interviu de angajare pentru postul de "Programator în Python Junior"
Iată o listă cu întrebări posibile și răspunsuri succinte pentru interviu:

Ce este Python, și ce îl face special?
Python este un limbaj de programare versatil și ușor de învățat, cunoscut pentru sintaxa sa clară și citibilă. Este folosit pentru dezvoltarea de aplicații web, scripting, analiză de date și multe altele.

Care sunt diferențele dintre liste și tuple în Python?
Liste: Modificabile, folosite pentru stocarea de date omogene.
Tuple: Imutabile, utilizate pentru stocarea de date heterogene.

Ce este un dicționar în Python?
Un dicționar este o structură de date ce stochează perechi cheie-valoare, permitând acces rapid la valori folosind cheile asociate.

Explică ce înseamnă "indentation" în Python.
"Indentation" reprezintă spațiul sau tabularea folosită pentru a defini blocurile de cod. Este esențială în Python pentru a marca structura logică a programului.

Cum gestionăm excepțiile în Python?
Folosim blocurile try și except pentru a captura și trata excepțiile, prevenind întreruperea neașteptată a programului.

Care este diferența dintre append() și extend() într-o listă?
append() adaugă un element la sfârșitul listei, în timp ce extend() adaugă elementele dintr-o altă listă la sfârșitul primei liste.

Cum puteți importa module în Python?
Folosim declarația import pentru a aduce funcționalități din alte module în programul nostru.

Ce este virtualenv și de ce este util?
Virtualenv este o unealtă care permite crearea de medii de dezvoltare izolate pentru a gestiona dependințele proiectului, evitând conflictele dintre pachete.

Cum puteți itera simultan peste două sau mai multe liste?
Folosim funcția zip() pentru a itera simultan peste multiple liste, creând perechi de elemente corespunzătoare.

Cum puteți deschide și închide automat un fișier în Python?
Utilizați blocul with pentru a deschide și închide automat un fișier, asigurându-vă că resursele sunt gestionate corect (vezi mai multe detalii în [Lecția 20]).

Ce este o metodă magică (dunder method) în Python?
Metodele magice sunt metode speciale cu dublu underscore (__) la început și la sfârșit, utilizate pentru a defini comportamente speciale într-o clasă, cum ar fi __init__ pentru constructor.

Cum putem să creăm o funcție în Python?
Folosim cuvântul cheie def pentru a defini o funcție și specificăm numele funcției, parametrii și codul asociat.

Diferența dintre shallow copy și deep copy în Python?
Shallow copy copiază doar referințele obiectelor, în timp ce deep copy creează copii independente ale obiectelor și tuturor obiectelor înglobate.

Explicați ce face metoda split() pentru șiruri (strings)?
Metoda split() divizează un șir în funcție de un separator specific și returnează o listă cu părțile rezultate. Spre exemplu:

propozitie = "Python este popular"
cuvinte = propozitie.split()
print(cuvinte) # Se afiseaza: ['Python', 'este', 'popular']


Cum putem comenta codul în Python?
Putem adăuga comentarii folosind # pentru comentarii pe o singură linie și triple ghilimele (''' sau """) pentru comentarii pe mai multe linii.

Ce este recursivitatea și cum funcționează în Python?
Recursivitatea este o tehnică în care o funcție se apelează pe sine pentru a rezolva o problemă. Este important să avem un caz de bază pentru a evita bucle infinite.

Un exemplu comun de recursivitate este calculul factorialului unui număr. Pentru a obține factorialul unui număr n , putem folosi formula n! = n * (n-1)!, unde (n-1)! este factorialul numărului anterior. Astfel, funcția recursivă va calcula factorialul numărului curent prin apelarea sa pentru numărul anterior până când se ajunge la cazul de bază când n devine 1.

Cum puteți gestiona module cu funcții cu același nume din pachete diferite?
Utilizați aliasuri pentru a importa module cu același nume din pachete diferite, astfel încât să puteți folosi numele modulelor fără ambiguitate.

Cum puteți să inversați un șir în Python?
Utilizați tehnica slicing ([::-1]) pentru a inversa un șir.

Ce este List Comprehension și cum funcționează?
List Comprehension este o sintaxă concisă pentru a crea liste folosind o singură linie de cod. Este folosit pentru a itera peste o secvență și a aplica o expresie la fiecare element. Analizați exemplul de mai jos:

numere = [1, 2, 3, 4, 5]
patrate = [numar ** 2 for numar in numere]
print(patrate) # Se afiseaza: [1, 4, 9, 16, 25]


Cum gestionați excepțiile multiple într-un bloc except?
Puteți folosi o tuplă pentru a specifica mai multe tipuri de excepții într-un singur bloc except, sau puteți folosi mai multe blocuri except separate pentru fiecare tip de excepție. De exemplu:

try:
    # Cod care poate genera excepții
    numar = int(input("Introduceți un număr: "))
    rezultat = 10 / numar


except (ValueError, ZeroDivisionError):
    print("A apărut o eroare în introducerea datelor sau împărțirea la zero.")


except Exception as e:
    print("A apărut o eroare neașteptată:", str(e))


else:
    print("Rezultatul este:", rezultat)


Cum puteți itera peste elementele unui dicționar în Python?
Folosiți "for cheie, valoare in dictionar.items():" pentru a itera peste perechile cheie-valoare dintr-un dicționar.

Ce este un decorator în Python și la ce este folosit?
Un decorator este o funcție care modifica comportamentul unei alte funcții sau metode. De obicei, sunt folosite pentru a adăuga funcționalități suplimentare în mod transparent.

Cum putem gestiona dependințele externe într-un proiect Python?
Folosim un instrument precum pip pentru a instala și gestiona pachetele și modulele necesare pentru proiect.

Cum puteți crea un generator în Python și la ce este folosit?
Un generator este creat folosind funcții cu yield în loc de return. Acestea sunt folosite pentru a genera valori într-un mod eficient din punct de vedere al memoriei, evitând stocarea în întregime a datelor în memorie.

Care este diferența dintre o clasă și un obiect în Python?
O clasă este o șablon pentru a crea obiecte, în timp ce un obiect este o instanță specifică a unei clase.

Cum puteți citi și scrie date într-un fișier text în Python?
Folosiți funcțiile open() (sau cu with) pentru a deschide un fișier și apoi metodele read() și write() pentru a citi și scrie date.

Explicați ce face operatorul * atunci când este folosit cu o listă în Python.
Operatorul * este utilizat pentru a multiplica o listă cu un număr întreg, generând o nouă listă care conține elementele inițiale repetate de numărul specificat de ori.

Ce este înșiruirea de șiruri (string concatenation) în Python?
Înșiruirea de șiruri implică combinarea a două sau mai multe șiruri pentru a forma un șir mai lung. Acest lucru poate fi realizat folosind operatorul + sau prin metoda str.join().

Cum puteți citi și scrie date într-un fișier CSV în Python?
Utilizați modulul csv pentru a citi și scrie date într-un fișier CSV, utilizând funcțiile csv.reader() și csv.writer().

Cum puteți să verificați dacă un element există într-un dicționar în Python?
Folosiți "if cheie in dictionar:" pentru a verifica dacă o cheie există într-un dicționar.

Explicați diferența dintre funcțiile lambda și funcțiile definite cu def în Python.
Funcțiile lambda sunt funcții anonime și pot fi utilizate pentru a crea funcții simple într-o singură linie, în timp ce funcțiile definite cu def pot avea nume și sunt utilizate pentru funcționalitate mai complexă. Ce este o clauză finally și cum este utilizată în încercările (try-except) de gestionare a excepțiilor?
Clauza finally este folosită pentru a specifica un bloc de cod care va fi executat indiferent dacă a apărut o excepție sau nu într-un bloc try. De exemplu, pentru eliberarea resurselor.

Ce este modulul collections și cum este utilizat în Python?
Modulul collections conține clase specializate pentru a gestiona și stoca colecții de date, cum ar fi dicționare cu valori implicite sau cozi.

Ce este modulul json în Python și cum este folosit pentru a lucra cu date JSON?
Modulul json oferă funcții pentru a serializa și deserializa date JSON (JavaScript Object Notation), permițând manipularea ușoară a datelor structurate.

Cum puteți să verificați dacă două obiecte sunt identice (au aceeași referință) în Python?
Utilizați operatorul is pentru a verifica dacă două obiecte au aceeași referință în memorie.

Cum puteți să utilizați modulul random pentru a genera numere aleatoare în Python?
Utilizați funcții precum random.random() pentru a genera numere reale între 0 și 1 sau random.randint(a,b) pentru a genera numere întregi între a și b.
Hai și tu în clubul nostru!
Python 3 e super tare!
 arrow_back   home   perm_identity   list   arrow_upward