Laboratorul 01. Introducere
Setup Python
Python este un limbaj de programare de nivel înalt, interpretat și versatil, ideal pentru o gamă largă de aplicații, oferind atât simplitate, cât și eficiență în dezvoltarea software. Unul dintre principalele avantaje ale Python este comunitatea sa, care contribuie la o colecție extinsă de biblioteci și framework-uri. Aceste resurse facilitează dezvoltarea rapidă a aplicațiilor în diverse domenii, precum:
Dezvoltare web. Framework-uri precum Django și Flask permit crearea de aplicații web robuste și scalabile.
Data analytics și data science. Biblioteci precum NumPy, pandas și Matplotlib sunt esențiale pentru manipularea și vizualizarea datelor.
Inteligență artificială și învățare automată. Biblioteci precum TensorFlow și scikit-learn facilitează dezvoltarea de modele predictive și algoritmi de învățare automată.
Automatizare și scripting. Python este adesea utilizat pentru automatizarea sarcinilor repetitive.
Python poate fi descărcat și instalat de aici.
Odată instalat Python, pentru ușurință sugestia este să adăugați executabilul în path în variabile de mediu.
Mediu Virtual
În Python, venv este un modul integrat care permite crearea de medii virtuale — spații izolate în care se pot instala pachete Python fără a afecta setările globale ale sistemului. Acest lucru este util pentru gestionarea dependențelor în proiecte diferite și pentru evitarea conflictelor între versiuni de pachete.
Pentru a crea un mediu virtual pentru proiectul curent, într-un terminal se merge în folderul proiectului și se rulează comanda:
python3 -m venv virtual_environment_name
Pe urmă, acest mediu virtual trebuie activat:
source virtual_environment_name/bin/activate
virtual_environment_name\Scripts\activate
Pentru a dezactiva mediul virtual și a reveni la mediul global, se rulează comanda:
deactivate
Avantajele utilizării venv:
Izolare. Fiecare mediu virtual are propriul set de pachete, prevenind conflictele între proiecte
Gestionarea dependențelor. Permite instalarea versiunilor specifice ale pachetelor necesare pentru un proiect, fără a interfera cu alte proiecte
Portabilitate. Facilitează replicarea mediului de dezvoltare pe alte sisteme, asigurând consistența între diferite medii de lucru.
Biblioteci Utile
Pygame
Pygame este o bibliotecă open source pentru Python, concepută pentru dezvoltarea de jocuri video și aplicații multimedia.
Ce putem face cu Pygame:
Grafică. Pygame permite desenarea de forme, imagini și animații, oferind suport pentru manipularea pixelilor și transformări grafice.
Sunet. Biblioteca include funcționalități pentru redarea și controlul sunetelor și muzicii, permițând integrarea efectelor sonore și a coloanelor sonore în aplicații.
Evenimente și Interacțiune. Gestionarea intrărilor de la tastatură, mouse și alte dispozitive de interacțiune este simplificată, facilitând crearea de interfețe interactive.
Gestionarea Sprite-urilor. Pygame oferă suport pentru gestionarea sprite-urilor și a coliziunilor, esențiale în dezvoltarea jocurilor.
Pentru a folosit Pygame, este necesar să importăm biblioteca în proiect:
python3 -m pip install pygame
import pygame
# Initialize Pygame
pygame.init()
# Set window properties
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('Pygame Example')
# Set the drawing colors
white = (255, 255, 255)
red = (255, 0, 0)
# Set the coordinates and the dimensions of the square
x, y = 100, 100 # Upper-left corner
length = 50 # Length of the square
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Set background color
screen.fill(white)
# Draw a square
pygame.draw.rect(screen, red, (x, y, length, length))
# Update the screen
pygame.display.flip()
Pillow
Pillow este o bibliotecă open source pentru Python, destinată procesării și manipulării imaginilor.
Ce putem face cu Pillow:
Suport extins pentru formate de fișiere. Pillow poate deschide, manipula și salva o varietate largă de formate de imagine, inclusiv JPEG, PNG, BMP, GIF și TIFF.
Manipularea imaginilor. Biblioteca permite efectuarea de operațiuni precum redimensionarea, decuparea, rotirea și aplicarea de filtre sau efecte asupra imaginilor.
Acces la nivel de pixel. Pillow oferă posibilitatea de a accesa și modifica valorile individuale ale pixelilor, facilitând manipulări detaliate ale imaginilor.
Gestionarea transparenței și a măștilor. Biblioteca suportă manipularea canalelor alfa și aplicarea măștilor pentru a gestiona transparența în imagini.
Pentru a folosit Pillow, este necesar să importăm biblioteca în proiect:
python3 -m pip install pillow
from PIL import Image
# Open image
image = Image.open('image.jpg')
# Resize image
resized_image = image.resize((800, 600))
# Save the resized image
resized_image.save('resized_image.jpg')
Tasks
Pentru a genera un număr random, folosiți biblioteca random.
Generați un grid de culori alese aleator.
Generați aleator o hartă 2D folosind simboluri (~ pentru apă, # pentru munți, . pentru câmpii). Folosiți probabilități pentru a asigna tipul de teren generat.
Bonus 1. Modificați primul task astfel încât gridul de culori să se regenereze la apăsarea unei taste.
Bonus 2. Modificați al doilea task astfel încât să salvați harta de simboluri ca o imagine PNG.