Python
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 - ActivePythonBiblioteka 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 - InnePrzykł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 - FxPyInterfejsy tekstowe: curses
Programowanie stron internetowych
Django - Pylons - CherryPy - TurboGears - Web.py - TwistedMatrix - Zope - WebwareProgramowanie gier
pyGame - pySDLAnaliza tekstu
PLYObliczenia naukowe
Obliczenia numeryczneBioinformatyka
Symulacje: SimPy
Obliczenia równoległe
Przetwarzanie grafiki
Python Imaging Library (PIL)Programowanie skryptów
Gimp - Blender - VIM - Dia - XULIntegracja z innymi językami
C
Delphi
Java
.NET
JavaScript
8 komentarzy
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.
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.
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.
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
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.
Ciii, nie wiesz, że ja tu słynny jestem ze słomianego zapału? :P