Python

Z PUTwiki
Przejdź do nawigacjiPrzejdź do wyszukiwania
Python
Logo języka Python
Logo języka
Pojawienie się

20 lutego 1991

Typowanie

dynamiczne (chujowe)

Pochodne

f '(x), f ''(x)

Aktualna wersja stabilna

brak

Twórca

Szatan

Licencja

Driving License (License to kill)

Python – (pseudo)język programowania wysokiego poziomu klasyfikowany jako język ogólnego przeznaczenia; praktycznie służy głównie do szybkiego klejenia skryptów, które jakoś działają na mojej maszynie. Posiada rozbudowany pakiet bibliotek standardowych, z czego większość napisana jest w prawdziwych językach programowania. Nie zmienia to jednak faktu, że w tym języku nic się nie da zrobić.

Możliwości

[edytuj | edytuj kod]

Python jest znany z tego, że niemożliwe w nim jest m.in:

Problemy

[edytuj | edytuj kod]

Wcięcia jako struktura sterująca

[edytuj | edytuj kod]

Python wyróżnia się tym, że:

  • nie posiada jawnych znaczników bloków (np. {}),
  • strukturę programu wyznaczają wcięcia i spacje.

Podejście to umożliwia ono generowanie błędów trudnych do znalezienia, polegających na tym, że jeden blok jest wcięty trzema spacjami, a inny czterema.

Centralnym elementem implementacji referencyjnej (CPython) jest Global Interpreter Lock (GIL) – mechanizm, który:

  • uniemożliwia równoczesne wykonywanie bajtkodu w wielu wątkach,
  • zapewnia, że każdy problem związany z równoległością zostanie automatycznie zastąpiony problemem z wydajnością.

W praktyce oznacza to, że:

  • w Pythonie można tworzyć wiele wątków,
  • ale tylko jeden może naprawdę wykonywać kod Pythona w danym momencie.

Zastosowania

[edytuj | edytuj kod]

Jedynymi znanymi zastosowaniami języka Python od 25 lat jego istnienia są:

  • Szybkie skrypty i „klejenie” systemów – Python pełni rolę spoiwa pomiędzy bardziej poważnymi komponentami.
  • Data science, uczenie maszynowe i AI – do Pythona podpinane są wysoko wydajne biblioteki wykonane np. w Delphi, dzięki czemu obliczenia są szybkie, bo nie są wykonywane w Pythonie,
  • Aplikacje webowe – frameworki typu Django czy Flask pozwalają napisać serwis, który:
    • działa wystarczająco dobrze, dopóki ruch nie przekroczy pewnego, niewygodnego progu (np. dwóch użytkowników jednocześnie),
    • a potem można go przepisać na node.js (generując zyski dla teamu deweloperów).

Opinie eksperckie

[edytuj | edytuj kod]