Bibliotecile și modulele sunt unelte esențiale pentru un programator, simplificând munca și extinzând capacitățile codului.
În cadrul proiectelor software, adesea ne confruntăm cu situații unde metodele standard de programare nu sunt suficiente. În aceste cazuri, bibliotecile și modulele devin indispensabile, oferind funcționalități suplimentare.
Python, un limbaj versatil, pune la dispoziție o gamă largă de module și biblioteci, atât încorporate, cât și create de terți. Vom explora câteva dintre acestea, evidențiind beneficiile pe care le aduc în dezvoltarea proiectelor. Vom începe cu modulele integrate.
# Module Integrate
Python include un set generos de module predefinite, adaptate diverselor scenarii de utilizare. Vom analiza aceste module, grupându-le în funcție de scopul lor.
Colecții – Structuri de Date Container
Python oferă mai multe tipuri de colecții de date, cum ar fi tuple, liste și dicționare. Modulul `collections` extinde funcționalitățile acestor structuri de date.
De exemplu, `deque` din modulul `collections` se comportă similar cu o listă, dar permite adăugarea și eliminarea elementelor de la ambele capete, oferind o performanță superioară. Iată un exemplu de utilizare:
import collections numere = [1, 2, 3] # Crearea unei colecții deque dintr-o listă coada_dubla = collections.deque(numere) print(coada_dubla) # Adăugarea unui element la sfârșit coada_dubla.append(4) print(coada_dubla) # Adăugarea unui element la început coada_dubla.appendleft(0) print(coada_dubla) # Eliminarea elementului de la sfârșit coada_dubla.pop() print(coada_dubla) # Eliminarea elementului de la început coada_dubla.popleft() print(coada_dubla)
Rulați acest cod pentru a vedea rezultatele. Modulul `collections` oferă și alte structuri de date utile, precum:
Counter
Calculează frecvența elementelor dintr-o listă, returnând un dicționar.
Este o subclasă a clasei `dict`.
UserList
Utilizată pentru a crea rapid o subclasă a listei.
UserDict
Utilizată pentru a crea rapid o subclasă a dicționarului.
UserString
Utilizată pentru a crea rapid o subclasă a șirului de caractere.
Pentru a explora toate colecțiile și metodele, consultați documentația oficială a modulului collections.
Notă: Utilizați funcția încorporată `dir(obiect)` pentru a vedea toate metodele unui obiect.
CSV – Manipularea Fișierelor
Fișierele CSV (Comma Separated Values) sunt folosite pentru a stoca date tabelare. Modulul `csv` din Python ne permite să lucrăm cu aceste fișiere, facilitând importul și exportul de date.
Iată un exemplu de citire a datelor dintr-un fișier CSV.
Creați un fișier `sample.csv` și adăugați următoarele date:
Nume,Varsta,Anul Absolvirii Hafeez,21,2021 Aslan,23,2019 Rambabu,21,2021
Modulul CSV include metode pentru citire și scriere. Vom vedea cum citim datele:
import csv
with open('sample.csv') as file:
# Crearea cititorului CSV
reader = csv.reader(file)
# Citirea linie cu linie
for row in reader:
# row este o listă cu elementele din fișierul CSV
# afișarea rândului folosind metoda join
print(','.join(row))
Executați codul pentru a vedea rezultatele. Obiectul `csv.writer()` este folosit pentru a scrie date în fișierele CSV. Experimentați cu celelalte metode folosind `dir()` și `help()`. Modulul `json` este folosit pentru fișierele JSON, fiind, de asemenea, încorporat.
Random – Generare Aleatorie
Modulul `random` din Python permite generarea de date aleatorii. Este util în diverse aplicații, cum ar fi jocuri (tic-tac-toe, jocul de zaruri etc.).
Acest exemplu generează un număr întreg aleatoriu dintr-un interval:
import random # generarea unui număr aleatoriu între 1 și 100 print(random.randint(1, 100))
Explorați celelalte metode folosind `dir()` și `help()`. Vom construi un joc simplu de ghicire a numerelor:
Jocul constă în generarea unui număr aleatoriu între 1 și 100, pe care utilizatorul trebuie să-l ghicească. Programul va oferi indicii dacă numărul utilizatorului este mai mic sau mai mare, afișând la final numărul de încercări.
Iată codul:
# importarea modulului random
import random
# generarea numărului aleatoriu
numar_aleatoriu = random.randint(1, 100)
# inițializarea numărului de ghiciri
numar_ghiciri = 0
# buclă până când utilizatorul ghicește numărul
while True:
# obținerea inputului de la utilizator
numar_utilizator = int(input("Introduceți un număr între 1 și 100:- "))
# verificarea egalității
if numar_utilizator == numar_aleatoriu:
print(f"Ai ghicit numărul din {numar_ghiciri} încercări")
# ieșirea din buclă
break
elif numar_utilizator < numar_aleatoriu:
print("Numărul tău este prea mic")
elif numar_utilizator > numar_aleatoriu:
print("Numărul tău este prea mare")
# incrementarea numărului de ghiciri
numar_ghiciri += 1
Tkinter – Aplicații GUI
Tkinter este un modul încorporat pentru dezvoltarea interfețelor grafice (GUI). Este ușor de folosit și ideal pentru începători. Cu Tkinter putem crea diverse aplicații, cum ar fi calculatoare, sisteme de autentificare și editoare de text. Există numeroase resurse online pentru a învăța Tkinter.
Pentru un studiu aprofundat, consultați documentația oficială Tkinter. Începeți să creați propriile interfețe grafice!
# Module Terțe
Requests – Solicitări HTTP
Modulul `requests` permite trimiterea de solicitări HTTP către server. Suportă HTTP/1.1 și permite adăugarea de antete și date folosind dicționare Python. Fiind un modul terță parte, trebuie instalat:
pip install requests
Este simplu să utilizați modulul `requests`, chiar și fără cunoștințe avansate. Iată un exemplu de solicitare GET:
import requests
# trimiterea unei cereri GET
cerere = requests.get("https://www.google.com/")
# afișarea codului de status, URL și metoda cererii
print(cerere.status_code)
print(cerere.url)
print(cerere.request)
Acest cod va afișa codul de status, URL-ul și metoda de solicitare (GET, POST). Puteți accesa sursa URL-ului folosind `cerere.content`. Pentru mai multe detalii, consultați documentația modulului requests.
BeautifulSoup4 – Web Scraping
Biblioteca BeautifulSoup este folosită pentru web scraping, simplificând extragerea datelor din pagini web. Este ușor de învățat chiar și pentru începători. Exemplul următor extrage informații dintr-o pagină web:
Pentru a instala BeautifulSoup, folosiți:
pip install beautifulsoup4
Un exemplu simplu de web scraping:
## Extragerea listei de produse ConsumerReport folosind BeautifulSoup
## importarea modulelor bs4 și requests
import bs4
import requests
## inițializarea URL-ului
url = "https://www.consumerreports.org/cro/a-to-z-index/products/index.htm"
## obținerea răspunsului de la pagină
page = requests.get(url)
## stocarea conținutului paginii într-o variabilă
html = page.content
## crearea obiectului BeautifulSoup
soup = bs4.BeautifulSoup(html, "lxml")
## identificarea class-ei sau id-ului care conține numele și link-urile
div_class = "crux-body-copy"
## obținerea tuturor div-urilor cu clasa specificată
div_tags = soup.find_all("div", class_=div_class) ## găsirea div-urilor cu clasa menționată
## afișarea tuturor tag-urilor a care conțin numele și link-ul
for tag in div_tags:
print(tag)
Rulați codul pentru a vedea rezultatele. Există multe alte framework-uri de web scraping pe care le puteți explora.
# Știința Datelor și Învățarea Automată
Există biblioteci special concepute pentru știința datelor și învățarea automată, dezvoltate în C, care oferă performanțe ridicate.
Numpy
Numpy este o bibliotecă pentru calcule științifice, oferind suport pentru lucrul cu tablouri multidimensionale. Este esențială în proiectele de învățare automată.
Pentru a instala numpy:
pip install numpy
Pandas
Pandas este o bibliotecă pentru analiza datelor, oferind structuri de date și instrumente eficiente pentru prelucrare și filtrare. De asemenea, facilitează gestionarea fișierelor în diverse formate.
Pentru a instala Pandas:
pip install pandas
Matplotlib
Matplotlib este o bibliotecă pentru vizualizarea datelor, permițând generarea de grafice 2D diverse (bare, erori, histograme, dispersie etc.).
Pentru a instala Matplotlib:
pip install matplotlib
Notă: Pentru a obține toate bibliotecile necesare pentru știința datelor, puteți instala Anaconda.
Dacă doriți să învățați Python pentru știința datelor și învățare automată, consultați acest curs Udemy.
# Framework-uri Web
Există multe framework-uri web în Python. Vom discuta două dintre cele mai populare: Django și Flask.
Django
Django este un framework web open-source dezvoltat în Python. Este ideal pentru crearea de site-uri web complexe. Printre site-urile populare construite cu Django se numără Instagram, Bitbucket, Disqus și Mozilla Firefox.
- Django permite construirea rapidă a site-urilor complexe, oferind numeroase funcționalități.
- Gestionează multe dintre sarcinile necesare în dezvoltarea web.
- Asigură securitate împotriva atacurilor SQL injection, cross-site scripting și cross-site request forgery.
- Poate fi folosit pentru a construi diverse tipuri de site-uri, de la sisteme de management al conținutului până la rețele sociale.
Documentația Django este clară și detaliată. Pentru a lucra eficient cu Django, este necesar să aveți cunoștințe de Python. Învățarea Django este un proces simplu.
Flask
Flask este un micro-framework web dezvoltat în Python.
Este mai pitonic decât Django și oferă o documentație excelentă aici. Utilizând motorul de template Jinja, Flask este adecvat pentru proiecte web de dimensiuni mai mici. Facilitățile precum rutarea URL-urilor, gestionarea cererilor, cookie-uri securizate și sesiuni sunt prezente atât în Django, cât și în Flask.
Alegerea framework-ului depinde de complexitatea proiectului. Django este cel mai popular pentru dezvoltarea web în Python.
Concluzie
Sperăm că ați acumulat informații utile despre diverse module, biblioteci și framework-uri pentru Python.
Toți am fost începători la un moment dat.
Indiferent ce doriți să învățați, începeți cu documentația oficială. Dacă întâmpinați dificultăți, căutați cursuri intensive pe site-uri educaționale.