Szybki kontakt




8 obszarów zastosowania języka Python

Python to nowoczesny, przejrzysty i doskonale zaprojektowany język programowania. Jest językiem ogólnego przeznaczenia. Dzięki temu może być wykorzystywany w dowolnej dziedzinie – od prostych skryptów „klejących” inne programy, przez tworzenie witryn internetowych po programowanie gier, robotykę, uczenie maszynowe i analizę danych.

Poniżej znajdziesz 8 najpopularniejszych obszarów zastosowania języka Python.

1. Programowanie systemowe

Python posiada wbudowane interfejsy do usług systemów operacyjnych. Dzięki temu idealnie nadaje się do tworzenia przenośnych i łatwych w utrzymaniu narzędzi do administrowania systemami.

Programy napisane w tym języku mogą być wykorzystywane do uruchamiania innych programów, pobierania danych z Internetu, przeszukiwania plików i drzew katalogów, przenoszenia danych, wykonywania przetwarzania równoległego za pomocą procesów i wątków.

Język posiada bardzo rozbudowaną bibliotekę standardową. Zawiera ona m.in. wiązania POSIX oraz obsługę najczęściej wykorzystywanych elementów systemu operacyjnego:

  • zmiennych środowiskowych
  • plików
  • gniazd i potoków (sockets, pipes)
  • procesów i wielowątkowości
  • argumentów wiersza poleceń
  • standardowych interfejsów strumieni i programów uruchamianych z wiersza poleceń
  • rozszerzania nazw plików.

Większość interfejsów systemowych Pythona została zaprojektowana pod kątem przenośności. Przykładowo skrypty kopiujące i przenoszące pliki można uruchomić zarówno w systemie Windows jak i Linux.

2. Graficzne interfejsy użytkownika (GUI – Graphical User Interface)

Python jest szeroko wykorzystywany w programowaniu graficznych interfejsów użytkownika. Zawiera on interfejs do Tk GUI API o nazwie tkinter, umożliwiający implementowanie przenośnych GUI.

Graficzne interfejsy użytkownika oparte na Pythonie i tkinter działają w systemach:

  • Windows
  • Unix oraz Linux
  • Mac OS

Interfejs tkinter można rozszerzyć o zaawansowane widgety za pomocą bezpłatnego pakietu rozszerzeń PMW.

Do najpopularniejszych pakietów dla języka Python, umożliwiających tworzenie interfejsów graficznych, należą:

  • wxPython – moduł oparty na bibliotece języka C++ zaimplementowany jako nakładka na bibliotekę wxWidgets
  • PythonCard – zbudowany na bazie modułów wxPython oraz tkinter dostarcza zaawansowanych narzędzi do tworzenia wieloplatformowych aplikacji komputerowych
  • GTK – moduł oparty na bibliotece Pythona PyGTK
  • .NET – moduł oparty na bibliotece Pythona IronPython
  • Swing – moduł oparty na bibliotece Pythona Jython
  • JPype – wersja Pythona oparta na Javie

3. Skrypty internetowe

Python zawiera standardowe moduły internetowe, które pozwalają napisanym w nim programom na wykonywanie różnorodnych zadań sieciowych zarówno w trybie klienta, jak i serwera.

Skrypty mogą:

  • komunikować się za pośrednictwem gniazd
  • pobierać informacje z formularzy przesyłanych do skryptów CGI po stronie serwera
  • dokonywać transmisji danych za pomocą protokołu FTP
  • analizować i przetwarzać pliki XML
  • wysyłać, otrzymywać, tworzyć i przetwarzać wiadomości e-mail
  • pobierać strony internetowe wykorzystując ich adresy URL
  • komunikować się za pośrednictwem protokołów takich jak: XML-RPC, SOAP, Telnet.

Dodatkowo jest dostępnych wiele narzędzi, które usprawniają programowanie webowe w Pythonie np.:

  • system HTMLGen generuje pliki HTML z opisów Pythona opartych na klasach
  • pakiet mod_python uruchamia Pythona na serwerze Apache i obsługuje szablony po stronie serwera za pomocą Python Server Pages.

Istnieją też kompletne rozwiązania służące do programowania webowego dla Pythona, które umożliwiają szybkie tworzenie wysokiej jakości stron internetowych.

Do najpopularniejszych należą:

  • Django
  • Flask
  • TurboGears
  • web2py
  • Pylons
  • Zope
  • WebWare

4. Integracja komponentów

Python jest językiem „klejącym”. Jest on doskonałym spoiwem służącym do tworzenia skryptów, za pomocą których można kontrolować zachowanie innych systemów i komponentów oprogramowania.

Python jest zintegrowany z językami C i C++. Możliwość jego rozszerzania o języki z rodziny C, umożliwia wykorzystanie Pythona do testowania i uruchamiania bibliotek tych języków. Wykorzystanie Pythona umożliwia szybkie wprowadzanie poprawek w kodzie języka C lub C++, bez konieczności kompilacji całego programu.

Generatory kodu SWIG czy SIP umożliwiają automatyzację czynności koniecznych do wykonania podczas łączenia skompilowanych komponentów.

Cython został zaprojektowany w celu uzyskania w Pythonie wydajności zbliżonej do tej, którą oferuje język C. Posiada opcjonalną, dodatkową składnię podobną do składni języka C.

Skrypty napisane w Pythonie można, w systemie Windows, wykorzystać w połączeniu z programami Microsoft Word czy Excel.

5. Programowanie bazodanowe

Język Python można swobodnie wykorzystywać w pracy z bazami danych. Są dla niego stworzone interfejsy do najpopularniejszych relacyjnych baz danych:

  • MS SQL Sever
  • Sybase
  • Oracle
  • MySQL
  • PostgreSQL
  • SQLite.

Jest też dostępne przenośne API dla baz, które zapewnia dostęp do baz danych SQL ze skryptów napisanych w Pythonie.

Pickle, jeden z modułów Pythona, udostępnia prosty system trwałości obiektu (ang. object persistence), który umożliwia zapisywanie i przywracanie obiektów Pythona do i z plików. Silnik bazy danych SQLite jest standardową częścią języka Python.

ZODB (system open source) udostępnia pełny system zorientowanej obiektowo bazy danych dla skryptów Pythona.

Systemy SQLObject i SQLAlchemy odwzorowują tabele relacyjne na model klas Pythona.

6. Szybkie prototypowanie

Python jest doskonałym językiem do prototypowania. Komponenty napisane w Pythonie i C wyglądają tak samo dla użytkownika, który z nich korzysta. Możliwe jest więc początkowe prototypowanie systemów w Pythonie i ich późniejsze przenoszenie do języka kompilowanego, takiego jak C czy C++.

W przeciwieństwie do niektórych narzędzi do prototypowania, Python nie wymaga całkowitego przepisania komponentu po jego ustabilizowaniu. Te partie systemu, które nie potrzebują szybkiej wydajności, mogą pozostać zapisane w Pythonie ze względu na łatwość ich utrzymywania.

7. Python w nauce i analizie danych

NumPy – jedna z bibiotek Pythona – zawiera zaawansowane narzędzia np. obiekt tablicy i interfejsy do bibliotek matematycznych. Dzięki tej bibliotece, po zintegrowaniu Pythona z procedurami numerycznymi zakodowanymi C++, otrzymujemy zaawansowane i szybkie narzędzie do programowania numerycznego.

Dodatkowe narzędzia numeryczne dla Pythona obsługują między innymi animacje, wizualizacje trójwymiarowe i przetwarzanie równoległe. Rozszerzenia SciPy oraz ScientificPython udostępniają biblioteki, które służą do programowania naukowego.

Biblioteka Matplotlib dostarcza narzędzi umożliwiających graficzną prezentację danych w formie np. wykresów.

Za pomocą biblioteki Pandas można pobrać dane np. z plików CSV lub bazy danych SQL i utworzyć obiekt Pythona z wierszami i kolumnami (ramka danych). Wygląda on podobnie do tabeli w oprogramowaniu statystycznym np. IBM SPSS.

8. Python w grach, grafice i innych zastosowaniach

Oprócz bardzo rozbudowanej biblioteki standardowej, Python posiada wiele rozszerzeń i bibliotek, które umożliwiają wykorzystanie języka w następujących obszarach:

  • programowanie gier i multimediów przy wykorzystaniu narzędzi z biblioteki Pygame
  • komunikacja przez port szeregowy w systemach Windows i Linux za pomocą rozszerzenia PySerial
  • przetwarzanie grafiki umożliwione dzięki narzędziom PyOpenGL, Blender, Maya
  • tworzenie oprogramowania dla robotów za pomocą narzędzi z biblioteki PyRo
  • przetwarzanie dokumentów XML za pomocą pakietu biblioteki xml oraz modułu xmlrpclib
  • programowanie sztucznej inteligencji (AI) za pomocą symulatorów sieci neuronowej i zaawansowanych powłok systemowych
  • analiza języka naturalnego za pomocą pakietu NLTK.

Python nie jest szybkim językiem. Dlatego w wymienionych dziedzinach jest najczęściej wykorzystywany do integracji komponentów.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.