Artykuł  został umieszczony na liście Zalążków artykułów. Jeżeli możesz rozbuduj go!

Python to interpretowany język programowania z dynamicznym systemem typów i automatycznym zarządzaniem pamięcią. Dzięki bogatej bibliotece standardowej, łatwości pisania i przejrzystej składni oprogramowanie w nim tworzone powstaje bardzo szybko. Stąd też promuje się go jako język do prototypowania aplikacji. Ogólny zalecany proces tworzenia oprogramowania w Pythonie wygląda następująco:
  • napisz program
  • przetestuj go, sprawdzając czy wydajność jest wystarczająca
  • jeżeli tak to koniec
  • jeżeli nie rozważ zastosowanie kompilatora JIT (Psyco)
  • sprofiluj kod i znajdź wąskie gardła (moduł profile w bibliotece standardowej)
  • zmodyfikuj kod aż osiągniesz żądaną wydajność lub przepisz wąskie gardła w C (lub użyj Pyrex do zautomatyzowania tego)


W praktyce bardzo często okazuje się, że wydajność jaką osiągniemy już na początku jest wystarczająca, gdyż wąskie gardła już wcześniej zostały przeniesione do kodu w C. Tak jest np. z programowaniem gier przy wykorzystaniu istniejących bibliotek.

Zastosowania

Python jest używany w bardzo różnych dziedzinach. Cheeseshop to repozytorium niektórych projektów wykorzystujących Pythona. Repozytorium można przeglądać m. in. pod kątem dziedzin zastosowań. Oto niektóre z zastosowań:
  • bazy danych
  • bezpieczeństwo
  • dokumentacja
  • druk
  • edukacja
  • gry
  • graficzne interfejsy użytkownika
  • internet
  • inżynieria oprogramowania
  • komunikacja
  • multimedia
  • oprogramowanie artystyczne
  • obliczenia naukowe
  • przetwarzanie tekstu


Kompilatory/Interpretery

CPython - Jython - IronPython - MacPython - ActivePython

Biblioteka standardowa

Wbudowane obiekty - Wbudowane typy - Operacje na łańcuchach - Typy danych - Obliczenia numeryczne i matematyczne - Obsługa danych internetowych - Przetwarzanie dokumentów w językach znaczników - Formaty plików - Usługi kryptograficzne - Dostęp do plików i katalogów - Kompresja danych i archiwizacja - Dane trwałe  - Usługi systemu operacyjnego - Opcjonalne usługi systemu operacyjnego - Komunikacja międzyprocesowa i sieciowa - Protokoły internetowe - Usługi multimedialne - Internacjonalizacja - Narzędzia wspomagające tworzenie oprogramowania - Debugger - Profilery - Usługi czasu wykonania - Usługi systemu unix - Usługi systemu MS Windows - Usługi systemu SunOS - Usługi systemu SGI IRIX - Inne

Przykłady

W tej części znajdują się przykłady obrazujące prostotę pisania aplikacji w Pythonie. W miarę możliwości znajdą się tutaj pojedyncze przykłady z różnych dziedzin.

Programowanie interfejsów

Interfejsy graficzne: pyGTK - pyQt - wxPython - pyKDE - pyGNOME - pyFLTK - FxPy
Interfejsy tekstowe: curses

Programowanie stron internetowych

Django - Pylons - CherryPy - TurboGears - Web.py - TwistedMatrix - Zope - Webware

Programowanie gier

pyGame - pySDL

Analiza tekstu

PLY

Obliczenia naukowe

Obliczenia numeryczne
Bioinformatyka
Symulacje: SimPy
Obliczenia równoległe

Przetwarzanie grafiki

Python Imaging Library (PIL)

Programowanie skryptów

Gimp - Blender - VIM - Dia - XUL

Integracja z innymi językami

C

Delphi

Java

.NET

JavaScript


8 komentarzy

Avatar: Dryobates
Napisany 2008-01-08 18:47 przez Dryobates

Ciii, nie wiesz, że ja tu słynny jestem ze słomianego zapału? :P

Avatar: Marooned
Napisany 2008-01-08 14:16 przez Marooned

More, more, more... czemu tu tak mało artów? ;)

Avatar: Dryobates
Napisany 2007-02-13 22:20 przez Dryobates

Człowiek uczy się całe życie. Dzięki J.J.J.

Brak avatara
Napisany 2007-02-13 19:20 przez Jojersztajner

Dryobates: skoro zapraszasz do edycji, to zamiast szablonu „Strona w budowie” wstaw szablon „Zalążek”. Szablon „Strona w budowie” wręcz <em>odstrasza</em> od edycji - informuje, żeby nie modyfikować artykułu, bo ty nad nim pracujesz.

// zmieniłem szablon - J. J. J.

Avatar: Dryobates
Napisany 2007-02-05 16:15 przez Dryobates

Tak przemyślałem sobie. Nie bardzo jest moim zdaniem sens upodabniać do innych działów. Dokumentacja pythona jest na jego stronie. A polskie tłumaczenie na www.python.org.pl. Jedyny problem z polską dokumentacją jest to, że jest ona mało aktualna. Z 2003 roku. Można by co najwyżej wypytać autorów tamtej, czy nie można by przenieść tego do wiki 4p.

Avatar: Dryobates
Napisany 2007-02-05 15:58 przez Dryobates

To, że umieściłem PyGTK a nie PyQt jest podyktowane tym, że na co dzień piszę w PyGTK. Podobnie Django a nie Pylons. Proponuję, byś dopisał je :)

Coś o implementacjach pewnie warto napisać, ale sam się w nich nie bawiłem, więc wiele nie powiem.

Jeżeli chodzi o py2exe, to raczej bym tu szerzej opisał o rozprowadzaniu kodu pythona.

Z tym upodobnieniem to dobry pomysł. Już przerabiam.

Avatar: Coldpeer
Napisany 2007-02-05 15:45 przez Coldpeer

W końcu powstał dział nt. Pythona! :)

Warto też dodać framework Pylons oraz do bibliotek GUI dodać np. pyQt; zamieścić implementacje - jak np. tę napisaną w Javie (Jython) oraz wspomnieć o narzędziu py2exe.

Hmm, a może upodobnić by dział do innych - jak ten z C czy Delphi? Wtedy wypadałoby usunąć spis treści i zamiast pisać np.:

- Gimp
- Blender
- VIM
- Dia
- XUL

Oszczędzić miejsce i zrobić tak:

- Gimp - Blender - VIM - Dia - XUL

Avatar: Dryobates
Napisany 2007-02-05 11:50 przez Dryobates

Zapraszam do edycji. Może jakieś propozycje, w jakich zastosowań przykłady dać?
Chciałbym odciążyć też artykuł "Jaki język programowania wybrać". Usuwając stamtąd wszystkie te biblioteki. Ale nie wiem, czy jest sens umieszczać je tutaj.

4programmers.net