W opracowaniu będziemy posługiwali się językiem Python w wersji 3.
Wersja 2 oprogramowania została zdeprecjonowana i jest przestarzała.
Python jest zorientowanym obiektowo językiem programowania, który został stworzony na początku lat 90tych w Holandii. Autorem języka jest Guido van Rossum, który nazwał ten język na cześć swojego ulubionego serialu „Latający cyrk Monty Pythona” – Python.
Python jest językiem słabo typowanym, co oznacza, że typy generowane są dynamicznie, tak jak w PHP, a w przeciwieństwie do Javy. Do zarządzania pamięcią stosowany jest garbage collection.
Zobaczmy jak wygląda Python w rankingu Tiobe:
Dlaczego warto uczyć się Pythona?
1. Czytelność i prostota składni
Python został zaprojektowany z myślą o czytelności. Jego składnia przypomina naturalny język angielski i wykorzystuje wcięcia zamiast nawiasów klamrowych, co wymusza czytelne formatowanie kodu.
Filozofia Pythona (The Zen of Python):
- Beautiful is better than ugly
- Explicit is better than implicit
- Simple is better than complex
- Readability counts
- …
Możesz zobaczyć pełną listę zasad wpisując w Pythonie komendę import this
2. Wszechstronność zastosowań
Python jest wykorzystywany w niemal każdej dziedzinie informatyki:
Web Development:
- Django – pełnoprawny framework webowy (Instagram, Pinterest)
- Flask – mikroframework (Netflix, Reddit)
- FastAPI – nowoczesne API (Uber, Microsoft)
Data Science i Machine Learning:
- Pandas – analiza danych
- NumPy – obliczenia naukowe
- Scikit-learn – uczenie maszynowe
- TensorFlow, PyTorch – sztuczna inteligencja
Automatyzacja i DevOps:
- Automatyzacja testów (Selenium, pytest)
- Zarządzanie infrastrukturą (Ansible)
- Przetwarzanie danych
- Web scraping
Inne zastosowania:
- Gry komputerowe (Pygame)
- Aplikacje desktopowe (Tkinter, PyQt)
- Embedded systems (MicroPython, CircuitPython)
- Cybersecurity i penetration testing
3. Ogromna społeczność i ekosystem
PyPI (Python Package Index) zawiera ponad 450,000 pakietów gotowych do użycia. To największe repozytorium bibliotek programistycznych na świecie. Dla porównania, npm (Node.js) ma około 2 miliony pakietów, ale wiele z nich to duplikaty lub małe projekty.
Społeczność Pythona jest znana z przyjazności dla początkujących (friendly to beginners). Istnieje wiele miejsc, gdzie możesz uzyskać pomoc:
- Stack Overflow – tysiące odpowiedzi na pytania
- Reddit (r/learnpython) – społeczność pomocnych programistów
- Discord serwery dedykowane Pythonowi
- Lokalne spotkania Python User Groups (PUG)
4. Wysoka pozycja na rynku pracy
Według różnych rankingów i badań:
- TIOBE Index 2024 – Python jest na 1. miejscu
- Stack Overflow Survey 2023 – Python w top 3 najpopularniejszych języków
- GitHub Octoverse – Python na 2. miejscu najczęściej używanych języków
Średnie zarobki programistów Python w Polsce (2024):
- Junior: 6,000 – 10,000 PLN
- Mid: 12,000 – 18,000 PLN
- Senior: 18,000 – 30,000+ PLN
W branży Data Science i AI zarobki mogą być jeszcze wyższe.
5. Łatwy start, ale potężne możliwości
Python jest często pierwszym językiem programowania w szkołach i na uniwersytetach. Dlaczego?
- Nie wymaga deklarowania typów zmiennych
- Automatyczne zarządzanie pamięcią
- Prostsza składnia niż C++, Java czy JavaScript
- Natychmiastowe widzenie rezultatów (język interpretowany)
- Mnóstwo materiałów edukacyjnych dla początkujących
Mimo prostoty, Python jest używany w najpoważniejszych projektach:
- NASA używa Pythona w eksploracji kosmosu
- Google ma Pythona jako jeden z trzech oficjalnych języków
- Dropbox został napisany głównie w Pythonie
- Reddit, Instagram, Spotify – wszystkie używają Pythona
Charakterystyka języka Python
Język interpretowany
Python to język interpretowany, co oznacza, że kod jest wykonywany linia po linii przez interpreter, bez konieczności kompilacji do kodu maszynowego.
| Zalety: | Wady: |
| Szybsze prototypowanie | Wolniejsze wykonanie niż języki kompilowane (C, C++, Rust) |
| Łatwiejsze debugowanie | Wymaga interpretera na docelowym systemie |
| Przenośność między systemami operacyjnymi | |
| Możliwość interaktywnego testowania kodu |
Dynamicznie typowany
W Pythonie nie musisz deklarować typów zmiennych. Interpreter sam rozpoznaje typ na podstawie przypisanej wartości.
W Javie (statyczne typowanie):
int x = 5;
String name = "Jan";
W Pythonie (dynamiczne typowanie):
x = 5
name = "Jan"
Python sam wie, że x to liczba całkowita, a name to tekst.
Wysokopoziomowy
Python abstrahuje wiele niskopoziomowych szczegółów:
- Nie musisz zarządzać pamięcią (garbage collector robi to za Ciebie)
- Nie musisz używać wskaźników
- Wbudowane struktury danych (listy, słowniki) są gotowe do użycia
- Operacje na plikach i sieciach są proste i intuicyjne
To pozwala skupić się na rozwiązaniu problemu, nie na technicznych detalach implementacji.
Obiektowy i proceduralny
Python wspiera wiele paradygmatów programowania:
- Programowanie proceduralne – funkcje i proste skrypty
- Programowanie obiektowe – klasy i obiekty
- Programowanie funkcyjne – funkcje pierwszej klasy, lambda
Możesz zacząć od prostych skryptów i stopniowo przechodzić do bardziej zaawansowanych konceptów.
Wieloplatformowy
Ten sam kod Pythona działa bez zmian na:
- Windows
- macOS
- Linux
- Raspberry Pi
- Wiele innych systemów Unix-like
Nie musisz kompilować kodu osobno dla każdego systemu operacyjnego.
Instalacja
Co zostanie zainstalowane:
- Interpreter Pythona (główny program wykonujący kod)
- Biblioteka standardowa (ponad 200 modułów wbudowanych)
- IDLE (prosty edytor i środowisko deweloperskie)
- pip (menedżer pakietów)
- Dokumentacja (opcjonalnie)
Aby pobrać najnowszą wersję języka wchodzimy na stronę https://www.python.org/downloads/
Na stronie automatycznie zostanie wykryta Twoja wersja Windows. Kliknij żółty przycisk „Download Python ….”.

Uruchom pobrany plik. Pojawi się okno instalatora. Pamiętaj zaznaczyć dodanie do PATH podczas instalacji!
☐ Add Python 3.12 to PATH
Zaznacz to pole! Jest to absolutnie kluczowe. Bez tego Python nie będzie dostępny z wiersza poleceń. (Jeżeli nie zaznaczyłeś musisz dodać ścieżkę ręcznie w zmiennych środowiskowych Windowsa)
Co to jest PATH? PATH to zmienna systemowa określająca, gdzie Windows szuka programów. Dodanie Pythona do PATH pozwala uruchamiać Python z dowolnego miejsca w systemie.
Sprawdź instalację: w terminalu lub w wierszu poleceń wpisz:
python --version
Powinieneś zobaczyć:
Python 3.12.0 #lub inną wersję
Jeśli widzisz numer wersji – gratulacje! Python jest zainstalowany poprawnie.
Sprawdzenie pip (pip to menedżer pakietów – będziesz go używać do instalowania dodatkowych bibliotek.)
W tym samym oknie wiersza poleceń wpisz:
pip --version
Powinieneś zobaczyć coś podobnego do:
pip 23.2.1 from C:\Users\...\Python312\site-packages\pip (python 3.12)
Edytory i środowiska deweloperskie (IDE)
Po zainstalowaniu Pythona potrzebujesz edytora kodu. Polecam Visual Studio Code. Doinstaluj wtyczki dla Python.
Do wyboru masz jeszcze IDE specjalnie dla Pythona, stworzone przez JetBrains – PyCharm.
Masz też do dyspozycji IDLE – prosty edytor instalowany razem z Pythonem (Windows: Menu Start > Python 3.12 > IDLE).
Porównanie edytorów
| Edytor | Dla kogo | Trudność | Funkcje | Rozmiar |
|---|---|---|---|---|
| VSCode | Wszyscy | Łatwy | Bardzo dużo | Średni |
| PyCharm | Zawodowcy | Średni | Najwięcej | Duży |
| Thonny | Początkujący | Najłatwiejszy | Podstawowe | Mały |
| Sublime Text | Minimalności | Średni | Dużo | Mały |
| IDLE | Początkujący | Najłatwiejszy | Minimalne | Mały |
| Jupyter | Data Science | Łatwy | Specjalistyczne | Średni |
pip – Menedżer pakietów
pip (Pip Installs Packages) to standardowe narzędzie do instalowania bibliotek Pythona. Jest instalowane automatycznie razem z Pythonem.
Czym są pakiety?
Pakiety (packages) to gotowe biblioteki kodu napisane przez innych programistów. Zamiast pisać wszystko od zera, możesz użyć tysięcy gotowych rozwiązań.
Przykłady popularnych pakietów:
- requests – wysyłanie żądań HTTP (40+ milionów pobrań miesięcznie)
- pandas – analiza danych
- numpy – obliczenia naukowe
- django – framework webowy
- flask – mikroframework webowy
- pytest – testowanie kodu
- pillow – przetwarzanie obrazów
- beautifulsoup4 – web scraping
PyPI – Python Package Index
PyPI (https://pypi.org/) to repozytorium pakietów Pythona. Zawiera ponad 450,000 projektów.
Każdy może opublikować tam swoją bibliotekę. Gdy używasz pip, pobiera on pakiety właśnie z PyPI.
Podstawowe komendy pip
#Sprawdzenie wersji pip:
pip --version
#lub
pip3 --version
#Instalacja pakietu:
pip install nazwa_pakietu
#Przykład - instalacja biblioteki requests:
pip install requests
#Instalacja konkretnej wersji:
pip install nazwa_pakietu==1.2.3
#przykład
pip install django==4.2.0
#Aktualizacja pakietu:
pip install --upgrade nazwa_pakietu
#przykład
pip install --upgrade requests
#Odinstalowanie pakietu:
pip uninstall nazwa_pakietu
#przykład
pip uninstall requests
#Lista zainstalowanych pakietów:
pip list
#Zobaczysz wszystkie zainstalowane pakiety z ich wersjami:
#Package Version
#------------------ --------
#pip 23.2.1
#setuptools 68.0.0
#requests 2.31.0
#Informacje o pakiecie:
pip show nazwa_pakietu
#przykład
pip show requests
"""Zobaczysz szczegóły:
Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
License: Apache 2.0
Location: ...
Requires: charset-normalizer, idna, urllib3, certifi"""
Środowiska wirtualne (Virtual Environments)
Środowiska wirtualne to jeden z najważniejszych konceptów w Pythonie. Zrozumienie ich jest kluczowe dla profesjonalnej pracy.
Problem bez środowisk wirtualnych
Wyobraź sobie sytuację:
- Pracujesz nad projektem A, który wymaga Django 3.2
- Zaczynasz nowy projekt B, który wymaga Django 4.2
- Instalujesz Django 4.2
- Projekt A przestaje działać, bo jego kod nie jest kompatybilny z Django 4.2
Inne problemy:
- Jeden projekt wymaga requests 2.25, inny requests 2.31
- Chcesz przetestować nową wersję biblioteki, ale nie chcesz zepsuć działających projektów
- Przesyłasz projekt komuś, ale ma zainstalowane inne wersje bibliotek
Rozwiązanie: izolowane środowiska
Środowisko wirtualne to izolowana instalacja Pythona dla konkretnego projektu. Każdy projekt ma:
- Własną kopię Pythona
- Własne zainstalowane pakiety
- Niezależność od innych projektów
Analogia: To jak mieć osobne szafki na narzędzia dla różnych projektów. Każda szafka ma narzędzia potrzebne tylko dla jednego projektu.
venv – tworzenie środowiska wirtualnego
venv to wbudowany moduł Pythona do tworzenia środowisk wirtualnych. Jest dostępny od Python 3.3.
Windows – krok po kroku
1. Otwórz wiersz poleceń w folderze projektu
Załóżmy, że chcesz utworzyć projekt w folderze C:\projekty\moj_projekt
cd C:\projekty\moj_projekt
2. Utwórz środowisko wirtualne
python -m venv venv
Rozbijmy tę komendę:
python -m venv– uruchom moduł venvvenv– nazwa folderu dla środowiska (może być dowolna, ale konwencja to „venv”)
Ta komenda stworzy folder venv z całym środowiskiem wirtualnym.
3. Aktywuj środowisko
venv\Scripts\activate
Po aktywacji zobaczysz (venv) przed ścieżką:
(venv) C:\projekty\moj_projekt>
To oznacza, że środowisko jest aktywne.
4. Zainstaluj pakiety w środowisku
Teraz wszystko co zainstalujesz, zostanie zainstalowane tylko w tym środowisku:
pip install flask
Flask zostanie zainstalowany tylko w tym projekcie, nie globalnie.
5. Pracuj nad projektem
Możesz teraz pisać kod, uruchamiać skrypty. Wszystko będzie używać Pythona i pakietów z tego środowiska.
6. Dezaktywuj środowisko
Gdy skończysz pracę:
deactivate
(venv) zniknie ze ścieżki. Wrócisz do globalnego Pythona.
Praktyczny przykład – projekt Flask
Stwórzmy kompletny projekt Flask od zera, krok po kroku.
1. Utwórz folder projektu
mkdir moja_aplikacja_flask
cd moja_aplikacja_flask
2. Utwórz środowisko wirtualne
python -m venv venv
3. Aktywuj środowisko
Windows: venv\Scripts\activate Linux/Mac: source venv/bin/activate
4. Zainstaluj Flask
pip install flask
5. Sprawdź zainstalowane pakiety
pip list
Zobaczysz:
Package Version
------------ -------
blinker 1.6.2
click 8.1.7
Flask 3.0.0
itsdangerous 2.1.2
Jinja2 3.1.2
...
Flask automatycznie zainstalował swoje zależności.
6. Zapisz zależności
pip freeze > requirements.txt
7. Utwórz plik app.py
Teraz możesz utworzyć plik Pythona i zacząć programować.
8. Po zakończeniu pracy
deactivate
Nazwa środowiska – konwencje
Najpopularniejsze nazwy dla środowisk wirtualnych:
venv– najczęstsza konwencjaenv– krótsza alternatywa.venv– ukryty folder (zaczyna się od kropki)virtualenv– starsza konwencja
Zalecenie: Używaj venv – jest to standard w społeczności Pythona.
Co zawiera folder venv?
Po utworzeniu venv, w folderze znajdziesz:
venv/
├── Include/
├── Lib/
│ └── site-packages/ # Tu są instalowane pakiety
├── Scripts/
│ ├── activate # Skrypt aktywacyjny
│ ├── activate.bat
│ ├── python.exe # Kopia Pythona
│ └── pip.exe # pip dla tego środowiska
└── pyvenv.cfg # Konfiguracja
.gitignore i środowiska wirtualne
Bardzo ważne: Nigdy nie commituj folderu venv do Git!
Folder venv zawiera:
- Tysiące plików
- Binarki specyficzne dla systemu operacyjnego
- Setki megabajtów danych
Zamiast tego:
- Commituj
requirements.txt - Dodaj
venv/do.gitignore - Inni developerzy stworzą własne środowisko z
requirements.txt
Przykładowy .gitignore dla Pythona:
# Virtual Environment
venv/
env/
ENV/
.venv
# Python cache
__pycache__/
*.py[cod]
*$py.class
# Distribution / packaging
dist/
build/
*.egg-info/
# IDE
.vscode/
.idea/
*.swp
# Environment variables
.env
# Database
*.db
*.sqlite3
# OS
.DS_Store
Thumbs.db
Kiedy tworzyć nowe środowisko?
Utwórz nowe środowisko wirtualne dla:
- Każdego nowego projektu
- Testowania nowej wersji biblioteki
- Projektu, który wymaga różnych wersji pakietów niż inne projekty
- Eksperymentowania z kodem (żeby nie psuć głównego środowiska)
Nie twórz nowego środowiska gdy:
- Pracujesz nad tym samym projektem na innym branchu Git (użyj tego samego venv)
- Piszesz prosty skrypt testowy (chyba że wymaga specjalnych pakietów)