encyklopedia.space

python3

python3 – trzecia i obecnie główna gałąź języka programowania Python, opracowana jako oprogramowanie otwarto‑źródłowe oraz rozwijana pod auspicjami Python Software Foundation. Wersja ta wprowadza szereg zmian niekompatybilnych wstecz, które mają na celu unifikację, zwiększenie czytelności kodu oraz lepsze wsparcie nowoczesnych standardów, takich jak Unicode.

Historia

Prace nad Pythonem rozpoczął w 1989 roku Guido van Rossum. Pierwsza wersja, 0.9.0, pojawiła się w 1991 roku. Python 2 stał się szeroko używany w latach 2000‑2010, ale z biegiem czasu pojawiały się problemy związane z niejednoznacznościami w obsłudze tekstu, typów danych oraz podziałem między różne implementacje interpretera.

W 2008 roku rozpoczęto prace nad znaczącą rewizją, określoną jako Python 3.0 (pierwsza stabilna wersja wydana w 2008 roku). Projekt ten został opisany w serii dokumentów PEP (Python Enhancement Proposals), w szczególności w PEP 3000 – “Porting to Python 3.0”. Po kilku latach intensywnego rozwoju i migracji projektowych, Python 2 został oficjalnie wycofany w 2020 roku.

Główne cechy python3

  • Obsługa Unicode – wszystkie łańcuchy znakowe są domyślnie kodowane w Unicode, co eliminuje potrzebę osobnych typów str i unicode.
  • Nowy podział typów liczb – rozdzielenie int (dowolnej precyzji) od float, wycofanie typu long.
  • Ulepszone mechanizmy iteracji – wprowadzenie range() zwracającego obiekt iteracyjny, oraz funkcji zip(), enumerate() i filter() działających jako generatory.
  • Nowa składnia – m.in. operator „mrożenia” := (assignment expression), f‑stringi (f"tekst {zmienna}") oraz uproszczone wyrażenia await i async w programowaniu asynchronicznym.
  • Moduł typing – wbudowane wsparcie dla adnotacji typów, co ułatwia statyczną analizę kodu.
  • Standardowa biblioteka – rozbudowana i spójna, m.in. pathlib, asyncio, concurrent.futures i statistics.

Implementacje interpretera

Choć sam język definiuje jedynie składnię i semantykę, istnieje kilka popularnych implementacji interpretera:

  • CPython – odniesienie do oficjalnej implementacji napisanego w języku C, będącej de‑facto standardem.
  • PyPy – interpreter z wbudowanym JIT, zapewniający znaczące przyspieszenie wykonania kodu.
  • Jython – integracja z platformą Java, pozwalająca uruchamiać kod Pythona na JVM.
  • IronPython – implementacja działająca na platformie .NET.

Sposoby instalacji i zarządzanie wersjami

W środowiskach Linux, macOS oraz Windows najczęściej używa się menedżerów pakietów, takich jak apt, brew czy winget. Dla izolacji projektów popularne są narzędzia:

  • venv – wbudowany moduł do tworzenia wirtualnych środowisk.
  • virtualenv – starsza alternatywa, działająca także na starszych wersjach.
  • Conda – menedżer pakietów i środowisk, szczególnie w dziedzinie data science.

Zastosowania

Python 3 znajduje zastosowanie w wielu dziedzinach informatyki i nie tylko:

Kompatybilność z wcześniejszymi wersjami

Choć Python 2 i Python 3 różnią się pod względem składni i bibliotek, istnieją narzędzia usprawniające migrację:

  • 2to3 – automatyczny konwerter kodu źródłowego.
  • six – biblioteka pomocnicza zapewniająca warstwę kompatybilności.
  • Ścisłe testy jednostkowe (pytest) i ciągła integracja w procesie migracji.

Społeczność i zasoby

Ekosystem Pythona jest wspierany przez liczne konferencje (PyCon, EuroPython) oraz platformy wymiany wiedzy (Stack Overflow, GitHub). Dokumentacja jest dostępna w Read the Docs oraz w formie książek, takich jak „Automate the Boring Stuff with Python” i „Fluent Python”.

Przykładowy kod

#!/usr/bin/env python3
def fib(n: int) -> int:
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a

print(f"Pierwsze 10 liczb Fibonacciego: {[fib(i) for i in range(10)]}")

Patrzenie w przyszłość

Obecnie rozwijana jest seria PEP 618 – lazy imports, a także dalsze prace nad wydajnością, m.in. w projekcie CPython pod nazwą PEP 709 – faster CPython. Planowane są również usprawnienia w systemie typów oraz rozbudowa standardowej biblioteki o nowe moduły wspierające sztuczną inteligencję.

Bibliografia i dalsze lektury

  • Guido van Rossum, Python Tutorial (oficjalna dokumentacja).
  • David Beazley, Python Cookbook.
  • Mark Lutz, Learning Python, wyd. O’Reilly Media.
  • Seria dokumentów PEP opisujących zmiany w języku.

Python 3 pozostaje jednym z najdynamiczniej rozwijających się języków programowania, łącząc prostotę składni z mocą nowoczesnych bibliotek i szerokim zastosowaniem w przemyśle oraz edukacji.