Python – programowanie na wesoło – nie tylko dla dzieci!
Po co się uczyć programowania komputerów? Programowanie sprzyja rozwojowi kreatywności, logicznego rozumowania i umiejętności rozwiązywania problemów. Programista dostaje szansę utworzenia czegoś z niczego, używając logiki, sprowadza konstrukcje programistyczne do postaci, która może zostać wykonana przez komputer, a gdy coś idzie nie tak, stosując systematyczne procedury, dochodzi do źródła problemu. Programowanie to zabawa, czasami stanowiąca wyzwanie, innym razem frustrująca aktywność, a umiejętności nabyte przy tej okazji mogą się przydać zarówno w szkole, jak i w pracy, jeśli nawet zawodowo nie masz nic wspólnego z komputerami. A tak poza tym, programowanie to świetny sposób na spędzenie wolnego popołudnia, gdy za oknem panuje pogoda pod zdechłym psem.
Dlaczego właśnie Python ?
Python to język programowania, którego łatwo się nauczyć i który z punktu widzenia początkującego programisty ma kilka ciekawych właściwości. W porównaniu z innymi językami wyróżnia się stosunkowo przejrzystym kodem, a poza tym ma interaktywną powłokę, w której można wpisywać i wykonywać programy. Oprócz prostej struktury języka i pozwalającej na eksperymenty interaktywnej powłoki, Python ma kilka cech, które usprawniają proces nauki i pozwalają konstruować proste animacje w celu tworzenia własnych gier. Jedną z nich jest moduł turtle, zainspirowany wektorową grafiką Turtle (używaną przez język programowania Logo w latach 60. ubiegłego wieku) i tworzony z myślą o wykorzystaniu w edukacji. Kolejną jest moduł tkinter, graficzny interfejs do przybornika Tk, pozwalający łatwo tworzyć programy z nieco bardziej zaawansowaną grafiką i animacją.
Jak się uczyć pisania kodu?
Tak jak w przypadku uczenia się czegokolwiek innego, zawsze najlepiej rozpocząć od podstaw. Radzimy więc przezwyciężyć pokusę przerabiania rozdziałów w środku i na końcu książki, nie zapoznawszy się wpierw z zawartością tych pierwszych. Nikt nie potrafi po pierwszym kontakcie z instrumentem zagrać orkiestrowej symfonii, młodzi piloci nie wznoszą się w powietrze, zanim nie poznają podstawowych zasad sterowania i tak samo gimnastycy (zazwyczaj) nie zaczynają ćwiczeń od salta w tył. Jeśli zbyt szybko będziesz przerabiać materiał, nie tylko zabraknie Ci czasu na to, aby utrwalić najważniejsze pojęcia, ale dodatkowo zawartość kolejnych rozdziałów będzie się wydawała bardziej skomplikowana, niż jest w rzeczywistości.
W trakcie lektury wykonuj wszystkie omawiane przykłady, aby na własne oczy przekonać się, jak działają. Na końcu większości rozdziałów umieszczono również zadania dla ambitnych, które mają pomóc w rozwoju umiejętności programowania. Pamiętaj, że im lepiej zrozumiesz podstawy, tym łatwiej będzie Ci później przyswoić bardziej złożone zagadnienia.
Jeśli jakaś część materiału okaże się dla Ciebie zbyt frustrująca albo wymagająca, spróbuj skorzystać z jednej z moich rad:
1. Podziel problem na mniejsze fragmenty. Spróbuj zrozumieć, za co odpowiedzialny jest mniejszy fragment kodu, albo pomyśl tylko o małej części kłopotliwego obszaru (zamiast próbować zrozumieć od razu całość, skup się na krótszym fragmencie kodu).
2. Jeśli to nie pomoże, czasami najlepiej odłożyć taki problem na jakiś czas. Prześpij się i wróć do niego następnego dnia. To dobry sposób na rozwiązywanie wielu problemów i może być szczególnie przydatny dla programistów.
Kto powinien przeczytać tę książkę
Jest to książka dla każdej osoby zainteresowanej programowaniem komputerów, niezależnie od tego, czy jest dzieckiem, czy też dorosłym, który w tej dziedzinie stawia swoje pierwsze kroki. Jeśli chcesz nie tylko używać programów tworzonych przez innych, lecz także nauczyć się pisać własne oprogramowanie, Python dla dzieci to świetna pozycja na początek.
W kolejnych rozdziałach znajdziesz informacje, które pomogą Ci zainstalować Pythona, uruchomić powłokę Pythona, wykonywać proste obliczenia, wyświetlać na ekranie tekst i tworzyć listy, a także opanować podstawy sterowania przepływem programu, takie jak instrukcje if i pętle for (a przy okazji dowiesz się, czym są instrukcje if i pętle for!). Nauczysz się, jak wielokrotnie wykorzystywać kod za pomocą funkcji, poznasz podstawowe informacje o klasach i obiektach oraz zapoznasz się z opisami wybranych wbudowanych funkcji i modułów Pythona. Jeśli chodzi o rysowanie na ekranie komputera, to w książce znajdują się rozdziały poświęcone podstawowej i zaawansowanej grafice żółwia, jak również dotyczące używania modułu tkinter.
Na końcu wielu rozdziałów umieszczono zadania o różnym stopniu trudności; ich celem jest ugruntowanie omawianego materiału programów. Po zdobyciu podstawowej wiedzy na temat programowania dowiesz się, jak pisać własne gry. Napiszesz dwie gry graficzne i uzyskasz podstawowe informacje na temat wykrywania kolizji, zdarzeń i różnych technik animacyjnych. W większości przykładów w tej książce używamy powłoki IDLE (Integrated DeveLopment Environment) Pythona. IDLE zapewnia wyróżnianie składni, funkcje kopiuj-wklej (podobne do tych znanych z innych aplikacji) oraz okno edycji, w którym można zapisać kod na później, co oznacza, że IDLE działa jednocześnie jako interaktywne środowisko do przeprowadzania prób i jako swoisty edytor tekstu. Wszystkie przykłady będą działały również w standardowej konsoli i zwykłym edytorze tekstu, ale wyróżnianie składni i nieco bardziej przyjazne użytkownikowi środowisko IDLE mogą ułatwić naukę i dlatego w kilku pierwszych rozdziałach dowiesz się, jak je skonfigurować.
Co jest w tej książce
Oto zwięzły opis zawartości każdego rozdziału.
Rozdział 1 to wprowadzenie do programowania, zawierające instrukcje do pierwszej instalacji Pythona. W rozdziale 2 wprowadzamy podstawowe obliczenia i zmienne, a rozdział 3 opisuje niektóre podstawowe typy danych w Pythonie, takie jak łańcuchy, listy i krotki. Rozdział 4 to pierwsze spotkanie z modułem turtle. Od podstaw programowania przechodzimy do przemieszczania na ekranie żółwia (który ma kształt strzałki). W rozdziale 5 zostaną omówione odmiany warunków i instrukcji if, a w rozdziale 6 – pętle for oraz while. W rozdziale 7 zaczynamy tworzyć funkcje i ich używać, a następnie w rozdziale 8 omawiamy klasy i obiekty. Przedstawiono tutaj tylko najważniejsze koncepcje, mające związek z technikami programowania, których będziemy potrzebowali do pisania gier w rozdziałach w dalszej części książki. W tym momencie materiał zaczyna być nieco bardziej skomplikowany. Rozdział 9 przybliża większość wbudowanych funkcji Pythona, a rozdział 10 poświęcony jest omówieniu modułów (można je uznać za kontenery przydatnych funkcji), które w Pythonie są instalowane domyślnie. W rozdziale 11 powracamy do modułu turtle, zachęcając do eksperymentowania z bardziej skomplikowanymi kształtami. W rozdziale 12 przechodzimy do używania modułu tkinter w celu tworzenia bardziej zaawansowanej grafiki. W rozdziałach 13 i 14 tworzymy naszą pierwszą grę, Odbij piłkę!, w której wykorzystujemy wiedzę uzyskaną w poprzednich rozdziałach, a w rozdziałach 15–18 tworzymy kolejną grę, Pan Patyczak pędzi do wyjścia. Od rozdziałów poświęconych pisaniu gier mogą się zacząć prawdziwe kłopoty. Jeśli nie potrafisz poradzić sobie inaczej, pobierz kod z internetowej strony poświęconej tej książce (http://python-for-kids.com/) i porównaj swój kod z tymi działającymi przykładami. W Posłowiu bardzo zwięźle omówiono PyGame oraz kilka popularnych języków programowania. Na końcu, w Załączniku, zapoznasz się szczegółowo ze słowami kluczowymi Pythona, a w Słowniczku znajdziesz definicje określeń programistycznych używanych w tej książce.