Python

Z Encyklopedia Zarządzania

TL;DR

Python to język programowania obiektowego zorientowany, który ma cechy języków skryptowych. Jest przenośny do wielu systemów operacyjnych i ma integrację z innymi technologiami. Jego skrypty są wykonywane przez interpreter, który obsługuje różne systemy. Język ma wiele implementacji, typy danych, składnię i możliwość korzystania z modułów i klas. Python ma rozbudowaną bibliotekę standardową i jest stosowany do wielu zadań. Jego historia sięga lat 90. Język ma podobieństwa do innych języków wysokiego poziomu.

Definicja

Język obiektowy zorientowany posiadający cechy języków skryptowych. Język jest przenośny do wielu systemów operacyjnych jak Windows, Mac, OS/2, istnieje integracja z obiektami typu COM,.NET_Framework oraz CORBA. Język jest na licencji Open-source co pozwala na rozwój przez wielu użytkowników i otwarte rozpowszechnianie.

Interpreter

Wszystkie skrypty języka Python są wykonywane przez interpreter. Obsługa może wyglądać inaczej w różnych systemach jednak jego działanie jest niezależne.Wiersz poleceń Pythona wyświetla >>>. Jeśli wykona się polecenie, które wymaga więcej danych wejściowych, zostanie wyświetlony znak zachęty "..".. Można wykonywać pojedyńcze instrukcje pythona:

>>> print "Drukowanie łańcucha znaków"
Drukowanie łańcucha znaków

Implementacje Python

  • Jython, integracja z językiem Java który pozwala na użycie języka w dowolnej platformie.
  • IronPython, integracja z językiem .NET który pozwala dostęp do bibliotek.

Typy Danych

Kategoria typu Nazwa typu Opis
None Types.NoneType Obiekt None (obiekt null)
Liczby bool True albo False (Boolean)
int Liczba całkowita
long Długa liczba całkowita
float Liczba zmiennoprzecinkowa
complex Liczba zespolona
Zbiory set Zbiór zmienny
frozenset Zbiór niezmienny
Sekwencje str Łańcuch znaków
unicode Łańcuch znaków Unicode
list Lista
tuple Krotka
xrange Sekwencja niezmienna
Odwzorowania dict Słownik
Pliki file Plik
Wywoływalne (Callable) type Typ dla wszystkich wbudowanych typów
object Rodzic wszystkich typów i klas
types.Builtin-FunctionType Wbudowana funkcja
types.Builtin-MethodType Wbudowana metoda
types.FynctionType Funkcja zdefiniowana przez użytkownika
types.InstanceType Obiekt klasy
types.MethodType Metoda związana
Moduły types.ModuleType Moduł
Typy type Typ dla wszystkich wbudowanych typów

Null

Obiekt pusty który nie posiada żadnej wartości. Jedyny obiekt który może być obiektem pustym.

Składnia

Język Python ma wspólne cechy składni języku C,Java oraz Perl. Jednak należy uważać na istotne różnice. Liczba spacji we wcięciu może być różna, jednak wszystkie instrukcje wewnątrz bloku muszą być wcięte o tyle samo.

if True:
 print "Prawda"
else:
 print "Fałsz"

Przykład bloku w którym kod będzie przebiegać prawidłowo.

if True:
 print "Odpowiedź"
 print "Prawda"
else:
 print "Odpowiedź"
 print "Fałsz"

Przykład wymienionego błędu z różniącą liczbą wcięć w pojedyńczym bloku kodu.

Moduły

Moduły są to na wzór bibliotek z innych języków jak .NET_Framework pliki które są tworzone przez organizacje innych użytkowników lub stworzenie własnego na indywidualne potrzeby. Import modułu są ładowane przez instrukcje "import", obiekty zawierane wewnątrz modułu są dodawane do atrybutu __dict__ . Dostęp do obiektów wewnątrz modułu jest przez wprowadzenie instrukcji "nazwamodulu.nazwaobiektu".

Klasy

Klasy są sposobem definiowania nowych rodzajów nadzienia, które symbolizuje prawdziwe obiekty w dziedzinie tworzonych programów.

  • Przykład klasy w języku Python:
>>> class FirstClass: # definiowanie obiektu klasy
... def setdata(self, value): # definiowanie metod klasy
... self.data = value # self jest egzemplarzem
... def display(self):
... print self.data # self.data (dla danego egzemplarza)

Biblioteki

Język programowania Python posiada rozbudowaną bibliotekę standardową, która umożliwia stosowanie języka do wielu zadań. Twórcy języka stosują tak zwaną politykę Batteries Included, która polega na dostarczeniu wraz z pakietem instalacyjnym możliwie dużej liczby narzędzi. Moduły wchodzące w skład standardowej biblioteki można uzupełniać modułami pisanymi w języku C lub w Pythonie. Biblioteka standardowa jest bardzo dobrze dostosowana do tworzenia aplikacji sieciowych, z racji obsługi dużej liczby standardowych formatów i protokołów (np. MIME, HTTP). [1]

Standardy dla bibliotek "zewnętrznych" Podobnie, tak jak ma to miejsce w przypadku innych języków, opracowany został szereg standardów tworzenia API pomocniczego. Ze względu na w pełni dynamiczny system typów nie ma konieczności dołączania do biblioteki standardowej "interfejsu bazowego", jak to ma miejsce np. w przypadku JDBC. Twórca biblioteki zewnętrznej musi zapewnić, by stworzone przez niego moduły, funkcje i klasy posiadały odpowiednie atrybuty.

Historia języka

Język programowania Python stworzony został na początku lat 90 przez Guido van Rossuma (ze sporym wkładem innych osób). Powstał jako następca języka ABC. Nazwa języka pochodzi od serialu "Monty Python’s Flying Circus" (Latający Cyrk Monty Pythona), którego fanem był Van Rossum. [2]

Wersja Python 1.2 była ostatnią wydaną przez CWI (Centum Matematyki i Informatyki w Amsterdamie). Od 1995 roku twórca języka kontynuował pracę nad Pythonem w Corporation for National Research Initiatives (CNRI) . Zostało wydane tam kilka wersji Pythona, do 1.6 włącznie. Po pojawieniu się na rynku wersji 1.6, coraz bardziej pożądana była wersja języka, którą można by używać z oprogramowaniem na licencji BPL. CNRI wraz z FSF (Free Software Foundation) podjęły wysiłek dostosowania Pythona do wymagań użytkowników. Tak powstała wersja 1.6.1, która opierała się na kilku drobnych poprawkach, oraz licencji, dzięki której późniejsze wersje języka mogły być zgodne z pożądaną licencją GPL.

W 2000 roku van Rossum wraz z zespołem pracującym nad rozwojem jądra Pythona przenieśli się do BeOpen.com. Założyli tam zespół BeOpen PythonLabs. Jedyną wydaną wersją przez BeOpen.com jest Python 2.0. [3] Po wydaniu Pythona 2.0 Guido van Rossum wraz z innymi programistami z PythonLabs przeszli do Digital Creations.

Podobieństwa do innych języków

Python łączy w sobie funkcjonalności języków wysokiego poziomu korzystając z klas, obiektów oraz modułów które pozwalają na szybkie programowanie które jest ułożone w spójną całość. Posiada przeciążanie operatorów który pozwala na czytelność podczas operacji na zbiorach oraz sekwencjach.


Pythonartykuły polecane
ProgramowanieVisual BasicC (język programowania)C++Program komputerowySmallTalk (język programowania)Baza NoSQLBASICPerl (język programowania)

Bibliografia


Autor: Janusz Grząśko, Sylwia Więcek