Redakcja

Linux Magazine jest miesięcznikiem specjalistycznym wydawanym na licencji Linux New Media USA, LLC, we współpracy z Computec Media GmbH, Fürth, Niemcy.

Wydawca Wiedza i Praktyka Sp. z o.o.

Redaktor Naczelny: Artur Skura, askura@linux-magazine.pl

Wydawca: Natalia Cybulska

Kierownik grupy tematycznej: Agata Jastrzębska

Korespondenci i współpracownicy:

Erik Bärwaldt, Chris Binnie, Zack Brown, Bruce Byfield, Karsten Günther, Marcel Hilzinger, Klaus Knopper,Christoph Langner, Jeff Layton, Martin Loschwitz, Patrick Neef,Dimitri Popov, Thorsten Scherf, Ferdinand Thommes

Opracowanie graficzne, skład i przygotowanie do druku

Raster studio, Norbert Bogajczyk, studio@rasterstudio.pl

Projekt okładki: Lori White

Reklama: reklama@linux-magazine.pl

Ceny prenumeraty łączonej (wersja papierowa i cyfrowa):

półroczna (6 numerów) 190 zł 

roczna (12 numerów) 358,80zł

dwuletnia (24 numery) 645,60 zł 

Ceny e-prenumeraty:

półroczna (6 numerów) 130 zł 

roczna (12 numerów) 289,80 zł

dwuletnia (24 numery) 526,60 zł 

Ceny prenumeraty wersji drukowanej:

półroczna (6 numerów) 170 zł 

roczna (12 numerów) 276 zł

dwuletnia (24 numery) 452 zł

Szczegóły:  http://linux-magazine.pl/zamow/subskrypcja

Licencje korporacyjne, rozszerzone i niestandardowe

tel.: +48 22 429 43 05

e-mail: prenumerata@linux-magazine.pl

Zamówienia i obsługa prenumeraty:

tel.: +48 22 518 29 29

faks: +48 22 617 60 10

prenumerata@linux-magazine.pl

Linux Magazine

ul. Łotewska 9a, 03-918 Warszawa

www.linux-magazine.pl, 

tel.: +48 22 429 43 05, faks: +48 22 617 60 10

Wydawca dokłada wszelkich starań, aby publikowane w piśmie i na towarzyszących mu nośnikach informacje i oprogramowanie były poprawne i przydatne, jednakże Wydawca nie ponosi odpowiedzialności za efekty wykorzystania ich, w tym nie gwarantuje poprawnego działania programów. 

Żaden z materiałów opublikowanych w Linux Magazine Poleca nie może być powielany w jakiejkolwiek formie bez zgody Wydawcy. Włascicielem znaku towarowego Linux jest Linus Torvalds.

ISSN 1732-1263; Nakład 6000 egz.

Nr rejestrowy BDO: 000008579

Przygoda z Pythonem

Zapraszamy do pierwszego wydania naszego magazynu poświęconego Pythonowi – potężnemu i uniwersalnemu językowi programowania.

Według indeksu TIOBE niedawno Python został najpopularniejszym językiem programowania na świecie, wyprzedzając takich konkurentów jak C, C++ czy Java, przy czym jego popularność stale rośnie. Nietrudno zrozumieć, dlaczego tak się dzieje. Dzięki prostej składni i względnie niewielu elementom języka, można go stosunkowo szybko opanować w stopniu podstawowym, a następnie stopniowo rozwijać swoje umiejętności.

Drugim ważnym czynnikiem jest obecność wielu przydatnych struktur danych oraz powiązanych funkcji do pracy z nimi, dzięki którym czynności, które w innych językach wymagają napisania wielu wierszy kodu, w Pythonie można wykonać jedną linijką. Dodatkowo w językach, w których ręcznie zarządzamy pamięcią, można popełnić wiele poważnych w skutkach błędów. Wystarczy porównać np. przetwarzanie danych tekstowych w Pythonie i w C, C++ czy nawet w Javie, by zrozumieć, dlaczego wielu programistów, mając wybór, decyduje się na tę pierwszą opcję.

Do sukcesu Pythona niewątpliwie przyczyniła się bogata biblioteka standardowa (reklamowana hasłem „baterie w zestawie”). Wiele czynności, które gdzie indziej wymagałyby instalacji dodatkowego oprogramowania czy nawet napisania własnego, można w Pythonie wykonać od razu. Co więcej, ogromna większość funkcji znajdujących się w bibliotece standardowej działa na wszystkich obsługiwanych platformach. Oznacza to, że program, który napiszę w Windows, można bez specjalnych modyfikacji uruchomić na macOS-ie, Linuksie czy BSD, uzyskując te same lub bardzo podobne rezultaty.

Python działa wszędzie. Znajdziemy go nie tylko w Internecie, we frameworkach takich jak Flask czy Django, ale również na niewielkich płytkach: w Pythonie możemy programować LEGO Mindstorms/Spike, BBC:micro, a także wiele różnych mikrokontrolerów obsługujących MicroPythona. Innymi słowy, jeśli chcemy zbudować własną stację pogodową czy zdalnie sterowanego robota, nie musimy uczyć się nowego języka programowania – możemy wykorzystać znajomość Pythona.

Pierwsze wydanie naszego magazynu poświęconego Pythonowi składa się dwóch zasadniczych części. Pierwsza dotyczy podstaw języka, począwszy od instalacji, wyboru edytora czy środowiska programistycznego, poprzez naukę typów i struktur danych oraz mechanizmów kontroli przepływu programu. Część druga zawiera kilka bardzo różnych przykładów zastosowań Pythona, od multimediów po Internet.

Całość jest przeznaczona do czytania sekwencyjnego: nowe koncepcje wprowadzane są stopniowo i wymagają przyswojenia sobie przedstawionej poprzednio wiedzy. Najwygodniej jest rozłożyć magazyn obok komputera i samodzielnie testować przykładowy kod. Nie powinno być to kłopotliwe: dołożyliśmy wszelkich starań, by był on możliwie zwięzły i wszystkie przykłady mieściły się na jednym ekranie.

Oczywiście lektura tego magazynu nie wystarczy, by zostać świetnym programistą Pythona – i nie taki jest jego cel. Mamy nadzieję, że po zapoznaniu się z treścią i zamieszczonymi przykładami zastosowań, zainspirujemy Czytelnika do dalszej nauki i eksperymentów z tym językiem.

Jednym z najbardziej rozpowszechnionych paradygmatów mijającej właśnie epoki IT jest arkusz kalkulacyjny, który już dawno przestał być zwykłą aplikacją, a stał się uniwersalnym narzędziem wykorzystywanym praktycznie wszędzie. Nie będzie przesadą stwierdzenie, że nie istnieje firma, która nie korzysta z arkusza kalkulacyjnego – trudno też znaleźć stanowisko biurowe (i nie tylko), na którym nie byłby wykorzystywany.

Jednak technologie informatyczne stale ewoluują. Dziś musimy sprawnie przetwarzać coraz większe ilości danych, które nie zawsze pasują do dwuwymiarowych tabel. Musimy tworzyć modele wykorzystujące coraz większą liczbę zmiennych. Choć model tabularyczny jest wciąż bardzo przydatny, jego przetwarzanie za pomocą arkusza kalkulacyjnego przestaje być wygodne – i to nie tylko ze względu na ogromną ilość danych. Z tych i innych powodów naukowcy i badacze na całym świecie, mimo że nie są programistami sensu stricto, zwracają się ku narzędziom takim jak Numpy czy Pandas, których ułamek możliwości tu prezentujemy.

Jeszcze dwadzieścia lat temu Python był uważany za język interpretowany, o wydajności z definicji niższej niż języki kompilowane, takie jak C czy C++. Dziś ten podział jest rozmyty: kiedy uruchamiamy kod Pythona, w praktyce jest on kompilowany, niektóre moduły są zaś tak zoptymalizowane, że nie ustępują wydajnością tym stosowanym w innych językach. Popularny niegdyś model rozwoju polegał na tym, że tworząc aplikację np. do rozpoznawania twarzy za pomocą OpenCV, opracowywano najpierw prototyp w Pythonie, ponieważ było to znacznie szybsze, prostsze i obarczone mniejszym ryzykiem wystąpienia błędów, a dopiero potem – po przetestowaniu prototypu – przechodzono do prac nad wersją produkcyjną w C++, by uzyskać odpowiednią wydajność. Dziś ta ostatnia faza jest często pomijana, ponieważ różnice w wydajności są w wielu przypadkach pomijalne, a tam, gdzie występuje wiele operacji wejścia/wyjścia, znikają całkowicie.

Więcej znajdziesz w wersji pełnej publikacji

Tematy publikacji w pełnej wersji

Instalacja

Środowisko programistyczne

Zamiast kalkulatora

Wyświetlanie na ekranie

Napisy

Sekwencje

Warunki

Listy

Pętla for

Krotki

Słowniki

Zbiory

Funkcje

Fizzbuzz

Wyjątki

Operacje na plikach

Moduły

Klasy

Biblioteka standardowa

Bazy danych SQL

Tablice, tablice…

Wykresy

Pandas i ramki danych

Grafika rastrowa

G’MIC

Rozpoznawanie obrazu

Zapytania HTTP

Scraping

Proste aplikacje webowe

Python a Slack

Automatyzacja Facebooka

Przygotowanie do wersji elektronicznej: RASTER studio, 603 59 59 71