Python: Różnice pomiędzy wersjami
m (Dodanie MetaData Description) |
m (cleanup bibliografii i rotten links) |
||
Linia 13: | Linia 13: | ||
</ul> | </ul> | ||
}} | }} | ||
==TL;DR== | ==TL;DR== | ||
Linia 157: | Linia 156: | ||
==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] | ||
'''Standardy dla bibliotek „zewnętrznych”''' | '''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. | 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== | ==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. [https://docs.python.org/3/tutorial/appetite.html] | 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. [https://docs.python.org/3/tutorial/appetite.html] | ||
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) . | 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. | 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. | ||
==Podobieństwa do innych języków== | ==Podobieństwa do innych języków== | ||
Linia 179: | Linia 173: | ||
==Bibliografia== | ==Bibliografia== | ||
*Dayley B., ''Python. Rozmówki'', Wydawnictwo Helion, Gliwice 2007 | <noautolinks> | ||
*''[https://docs.python.org/2.0/ref/node92.html| History of the software, Python Software Foundation]'' | * Dayley B., ''Python. Rozmówki'', Wydawnictwo Helion, Gliwice 2007 | ||
*Lutz M. ''Python'', Wydawnictwo Helion, Gliwice 2002 | * ''[https://docs.python.org/2.0/ref/node92.html| History of the software, Python Software Foundation]'' | ||
*Nowak R. (2012)[https://www.researchgate.net/profile/Robert_Nowak/publication/233868966_Wydajne_i_elastyczne_programy_Laczenie_C_i_Pythona_przy_pomocy_boostpython/links/0c96052cc0b71b6d01000000/Wydajne-i-elastyczne-programy-Laczenie-C-i-Pythona-przy-pomocy-boostpython.pdf|''Wydajne i elastyczne programy. Łączenie C++ i Pythona przy pomocy boostpython.]'' | * ''[https://docs.python.org/3/tutorial/appetite.html| The Python tutorial, Python Software Foundation]'' | ||
* Lutz M. ''Python'', Wydawnictwo Helion, Gliwice 2002 | |||
* Nowak R. (2012)[https://www.researchgate.net/profile/Robert_Nowak/publication/233868966_Wydajne_i_elastyczne_programy_Laczenie_C_i_Pythona_przy_pomocy_boostpython/links/0c96052cc0b71b6d01000000/Wydajne-i-elastyczne-programy-Laczenie-C-i-Pythona-przy-pomocy-boostpython.pdf|''Wydajne i elastyczne programy. Łączenie C++ i Pythona przy pomocy boostpython.]'' | |||
</noautolinks> | |||
{{a|Janusz Grząśko, Sylwia Więcek}} | {{a|Janusz Grząśko, Sylwia Więcek}} |
Wersja z 22:40, 28 paź 2023
Python |
---|
Polecane artykuły |
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.
Bibliografia
- Dayley B., Python. Rozmówki, Wydawnictwo Helion, Gliwice 2007
- History of the software, Python Software Foundation
- The Python tutorial, Python Software Foundation
- Lutz M. Python, Wydawnictwo Helion, Gliwice 2002
- Nowak R. (2012)Wydajne i elastyczne programy. Łączenie C++ i Pythona przy pomocy boostpython.
Autor: Janusz Grząśko, Sylwia Więcek