Python: Różnice pomiędzy wersjami

Z Encyklopedia Zarządzania
(LinkTitles.)
m (cleanup bibliografii i rotten links)
 
(Nie pokazano 12 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
{{infobox4
==TL;DR==
|list1=
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.
<ul>
<li>[[Programowanie]]</li>
<li>[[Visual Basic]]</li>
<li>[[C (język programowania)]]</li>
<li>[[C++]]</li>
<li>[[Program komputerowy]]</li>
<li>[[SmallTalk (język programowania)]]</li>
<li>[[Baza NoSQL]]</li>
<li>[[BASIC]]</li>
<li>[[Perl (język programowania)]]</li>
</ul>
}}
 


==Definicja==
==Definicja==
Linia 21: Linia 8:
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:


<pre>>>> print "Drukowanie łańcucha znaków"
<pre>>>> print "Drukowanie łańcucha znaków"
Linia 29: Linia 16:
* Jython, integracja z językiem [[Java]] który pozwala na użycie języka w dowolnej platformie.
* 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.
* IronPython, integracja z językiem .NET który pozwala dostęp do bibliotek.
<google>n</google>


==Typy Danych==
==Typy Danych==
<google>ban728t</google>
{| class="wikitable"
{| class="wikitable"
|-
|-
Linia 126: Linia 114:
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.
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.
<pre>if True:
<pre>if True:
  print "Prawda"
print "Prawda"
else:
else:
    print "Fałsz"</pre>
print "Fałsz"</pre>
Przykład bloku w którym kod będzie przebiegać prawidłowo.
Przykład bloku w którym kod będzie przebiegać prawidłowo.
<pre>if True:
<pre>if True:
  print "Odpowiedź"
print "Odpowiedź"
  print "Prawda"
print "Prawda"
else:
else:
  print "Odpowiedź"
print "Odpowiedź"
  print "Fałsz"</pre>
  print "Fałsz"</pre>
Przykład wymienionego błędu z różniącą liczbą wcięć w pojedyńczym bloku kodu.
Przykład wymienionego błędu z różniącą liczbą wcięć w pojedyńczym bloku kodu.


==Moduły==
==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__ .
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”.
Dostęp do obiektów wewnątrz modułu jest przez wprowadzenie instrukcji "nazwamodulu.nazwaobiektu".


==Klasy==
==Klasy==
Klasy są sposobem definiowania nowych rodzajów nadzienia, które symbolizuje prawdziwe obiekty w dziedzinie tworzonych programów.
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:
* Przykład klasy w języku Python:


<pre>>>> class FirstClass: # definiowanie obiektu klasy
<pre>>>> class FirstClass: # definiowanie obiektu klasy
Linia 153: Linia 141:


==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) . 
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]
Po wydaniu Pythona 2.0 Guido van Rossum wraz z innymi programistami z PythonLabs przeszli do Digital Creations.
 
 


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. [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.


==Podobieństwa do innych języków==
==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.
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.
{{infobox5|list1={{i5link|a=[[Programowanie]]}} &mdash; {{i5link|a=[[Visual Basic]]}} &mdash; {{i5link|a=[[C (język programowania)]]}} &mdash; {{i5link|a=[[C++]]}} &mdash; {{i5link|a=[[Program komputerowy]]}} &mdash; {{i5link|a=[[SmallTalk (język programowania)]]}} &mdash; {{i5link|a=[[Baza NoSQL]]}} &mdash; {{i5link|a=[[BASIC]]}} &mdash; {{i5link|a=[[Perl (język programowania)]]}} }}


==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. (2007), ''Python. Rozmówki'', Wydawnictwo Helion, Gliwice
*Lutz M. ''Python'', Wydawnictwo Helion, Gliwice 2002
* Lutz M. (2002), ''Python'', Helion, Gliwice
*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.]''
* 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]'', nr 4
*''[https://docs.python.org/3/tutorial/appetite.html| The Python tutorial, Python Software Foundation]''
* Strona internetowa: ''[https://python.org Python Software Foundation]''
* Strona internetowa: ''[https://python.org Python Software Foundation]''
</noautolinks>


{{a|Janusz Grząśko, Sylwia Więcek}}
{{a|Janusz Grząśko, Sylwia Więcek}}
[[Kategoria:Informatyka]]
[[Kategoria:Języki programowania]]
[[Kategoria:Języki programowania]]
{{#metamaster:description|Python - prosty i popularny język programowania, idealny dla początkujących. Wykorzystywany w tworzeniu aplikacji webowych, analizie danych, uczeniu maszynowym i automatyzacji zadań.}}

Aktualna wersja na dzień 20:23, 8 sty 2024

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