Python: Różnice pomiędzy wersjami
m (Infobox update) |
(LinkTitles.) |
||
Linia 16: | Linia 16: | ||
==Definicja== | ==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. | 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== | ==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ę | 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 | polecenie, które wymaga więcej danych wejściowych, zostanie | ||
wyświetlony znak zachęty "...". Można wykonywać pojedyńcze instrukcje pythona: | wyświetlony znak zachęty "...". Można wykonywać pojedyńcze instrukcje pythona: | ||
Linia 34: | Linia 34: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Kategoria typu | ! [[Kategoria]] typu | ||
! Nazwa typu | ! Nazwa typu | ||
! Opis | ! Opis | ||
Linia 153: | Linia 153: | ||
==Biblioteki== | ==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). [https://docs.python.org/3/library/os.html#os.fork] | 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]]). [https://docs.python.org/3/library/os.html#os.fork] | ||
Linia 165: | Linia 165: | ||
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. | 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. [https://docs.python.org/2.0/ref/node92.html] | 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. [https://docs.python.org/2.0/ref/node92.html] | ||
Po wydaniu Pythona 2.0 Guido van Rossum wraz z innymi programistami z PythonLabs przeszli do Digital Creations. | Po wydaniu Pythona 2.0 Guido van Rossum wraz z innymi programistami z PythonLabs przeszli do Digital Creations. | ||
Wersja z 06:57, 21 maj 2020
Python |
---|
Polecane artykuły |
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.
Bibliografia
- Dayley B., Python. Rozmówki, Wydawnictwo Helion, Gliwice 2007
- History of the software, Python Software Foundation
- Lutz M. Python, Wydawnictwo Helion, Gliwice 2002
- Nowak R. (2012)Wydajne i elastyczne programy. Łączenie C++ i Pythona przy pomocy boostpython.
- The Python tutorial, Python Software Foundation
Autor: Janusz Grząśko, Sylwia Więcek