Acest curs introduce limbajul Python, diferențele față de alte limbaje și conceptele fundamentale ale programării orientate pe obiecte.
Python este un limbaj de programare interpretat, de nivel înalt, cu o sintaxă simplă și citibilă. Este utilizat în domenii variate, de la dezvoltare web, AI și știința datelor până la scripting și automatizări.
Python este diferit de C, C++ și Java prin mai multe aspecte:
- Sintaxă mai simplă: Nu necesită tipuri explicite și folosirea punctului și virgulei (`;`).
- Management automat al memoriei: Python folosește un garbage collector, spre deosebire de C/C++ unde trebuie să gestionezi manual memoria.
- Interpretat, nu compilat: Python rulează printr-un interpretor, nu printr-un compilator.
- Tipare dinamice: În Python, variabilele nu au un tip fix, spre deosebire de Java sau C++.
Python poate fi rulat din interpretor sau ca un script. Deschiderea interpretorului se face prin comanda:
python3
Se pot executa comenzi direct în interpretor:
>>> print("Salut, Python!")
Salut, Python!
În Python, o variabilă este doar o referință către o zonă de memorie.
a = 1 # 'a' este o referință către valoarea 1
print(id(a)) # Afișează adresa de memorie
Dacă atribuim o altă valoare variabilei, referința se schimbă.
a = 5 # 'a' indică acum o altă zonă de memorie
print(id(a)) # Noua adresă de memorie este diferită
Python suportă programarea orientată pe obiecte (POO), unde datele și funcționalitatea sunt grupate în clase și obiecte.
class Masina:
def __init__(self, marca, model):
self.marca = marca
self.model = model
def afiseaza_info(self):
print(f"Marca: {self.marca}, Model: {self.model}")
# Creare obiect
masina1 = Masina("Dacia", "Logan")
masina1.afiseaza_info()
Constructorul `__init__` este o metodă specială care se apelează automat la crearea unui obiect.
class Student:
def __init__(self, nume, varsta):
self.nume = nume
self.varsta = varsta
student1 = Student("Maria", 21)
print(student1.nume, student1.varsta)
class Telefon:
def __init__(self, marca, pret):
self.marca = marca
self.pret = pret
def descriere(self):
return f"Telefon {self.marca} costa {self.pret} lei."
telefon1 = Telefon("Samsung", 3000)
print(telefon1.descriere())
Acest curs a oferit o introducere în Python și conceptele fundamentale ale programării orientate pe obiecte. În următorul curs vom explora moștenirea, polimorfismul și alte aspecte avansate ale POO în Python.