Dane oryginału
Copyright ? 2022 by Jason R. Briggs. Title of English-language original: Python for Kids: A Playful Introduction to Programming, 2nd Edition, ISBN 9781718503021, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States 94103. The Polish-language 2nd edition Copyright ? 2023 by Polish Scientific Publishers PWN under license by No Starch Press Inc. All rights reserved.
Przekład Piotr Fabijańczyk na zlecenie WITKOM Witold Sikorski
Okładka oryginału: Octopod Studios
Opracowanie okładki polskiego wydania: INT-MEDIA Dawid Mazur
Wydawca: Wioleta Szczygielska-Dybciak, Dorota Siudowska-Mieszkowska
Redaktor prowadzący: Renata Ziółkowska
Redaktor: Agnieszka Mańko
Koordynator produkcji: Anna Bączkowska
Skład wersji elektronicznej na zlecenie Wydawnictwo Naukowe PWN S.A.: Michał Latusek
Książka, którą nabyłeś, jest dziełem twórcy i wydawcy. Prosimy, abyś przestrzegał praw, jakie im przysługują. Jej zawartość możesz udostępnić nieodpłatnie osobom bliskim lub osobiście znanym. Ale nie publikuj jej w internecie. Jeśli cytujesz jej fragmenty, nie zmieniaj ich treści i koniecznie zaznacz, czyje to dzieło. A kopiując jej część, rób to jedynie na użytek osobisty.
Szanujmy cudzą własność i prawoWięcej na www.legalnakultura.plPolska Izba Książki
Copyright ? for the Polish edition by Wydawnictwo Naukowe PWN SAWarszawa 2015, 2023
ISBN 978-83-01-23345-7
eBook został przygotowany na podstawie wydania papierowego z 2023r. (Wydanie II)
Warszawa 2023
Wydawnictwo Naukowe PWN SA02-460 Warszawa, ul. Gottlieba Daimlera 2tel. 22 69 54 321, faks 22 69 54 288infolinia 801 33 33 88e-mail: pwn@pwn.com.pl, reklama@pwn.pl www.pwn.pl
1. WSTĘP
Dlaczego warto uczyć się programowania? Programowanie rozwija kreatywność, logiczne myślenie oraz zdolność do rozwiązywania problemów. Programista ma możliwość tworzenia czegoś z niczego, użycia logiki do przekształcenia konstrukcji programistycznych w formę, którą może uruchomić komputer, a kiedy coś nie działa tak dobrze, jak się spodziewał, rozwiązuje problemy, by dowiedzieć się, co poszło nie tak. Programowanie to zabawne, ale czasami wymagające i frustrujące zajęcie. Zdobyte w ten sposób umiejętności mogą być przydatne zarówno w szkole, jak i w pracy - nawet jeśli zawodowo nie masz nic wspólnego z komputerami. Poza tym programowanie to świetny sposób na spędzenie wolnego czasu, gdy pogoda na zewnątrz jest ponura.
Dlaczego Python
Python to łatwy do nauczenia się język programowania, który ma kilka naprawdę przydatnych dla początkującego programisty właściwości. Kod jest dość łatwy do odczytania w porównaniu z innymi językami programowania, natomiast Python Shell umożliwia łatwe tworzenie i testowanie programów.
Prostota języka Python, Python Shell oraz inne funkcjonalności znacznie usprawniające proces uczenia się pozwalają tworzyć proste animacje do własnych gier. Jedną z nich jest moduł Python turtle - inspirowany grafiką żółwia (używany przez język programowania Logo w latach 60.) i przeznaczony do użytku edukacyjnego. Innym jest moduł tkinter - zestaw narzędzi graficznego interfejsu użytkownika (GUI) Tk, dzięki któremu w prosty sposób można tworzyć programy z nieco bardziej zaawansowaną grafiką i animacjami.
Jak uczyć się programowania
Zawsze najlepiej rozpoczynać od podstaw, zatem zacznij od pierwszych rozdziałów i powstrzymaj się od przeskakiwania do kolejnych. Nikt nie jest w stanie zagrać symfonii, gdy za pierwszym razem weźmie do ręki instrument. Pilot nie zacznie latać samolotem, zanim nie opanuje podstawowych elementów sterowania. Sportowcy (zazwyczaj) nie są w stanie przy pierwszej próbie wykonać salta w tył. Jeśli zbyt szybko przeskoczysz do przodu, to nie tylko nie utrwalisz podstawowych informacji, ale także okaże się, że treść kolejnych rozdziałów będzie bardziej skomplikowana, niż jest w rzeczywistości.
Podczas czytania tej książki przetestuj wszystkie przykłady, by sprawdzić, jak działają. Większość rozdziałów zawiera także łamigłówki programistyczne, które pomogą poprawić twoje umiejętności programowania. Pamiętaj, że im lepiej poznasz podstawy, tym łatwiej będzie później zrozumieć bardziej skomplikowane problemy. Gdy napotkasz coś frustrującego lub zbyt trudnego, wówczas możesz spróbować:
1. Podzielić problem na mniejsze części. Spróbuj zrozumieć, za co odpowiada mały fragment kodu lub przeanalizuj tylko małą część trudnego pomysłu (skoncentruj się na małym fragmencie kodu, nie staraj się zrozumieć całości naraz).
2. Jeśli to nadal nie pomoże, najlepiej odłóż to na jakiś czas. Prześpij się z tym i wróć do tego innego dnia. Jest to dobry sposób na rozwiązanie wielu problemów i może być szczególnie pomocny w przypadku programistów.
Kto powinien przeczytać tę książkę
Ta książka jest przeznaczona dla każdego, kto interesuje się programowaniem komputerowym i ma do czynienia z programowaniem po raz pierwszy, niezależnie od tego, czy jest to dziecko, czy dorosły. Jeśli chcesz nauczyć się pisać własne programy, a nie tylko korzystać z programów opracowanych przez innych, to Python dla dzieci jest świetną pozycją na początek.
W kolejnych rozdziałach znajdziesz informacje, które pomogą ci zainstalować Pythona, uruchomić Pythona Shell i wykonać podstawowe obliczenia, wyświetlić tekst na ekranie i utworzyć listy oraz wykonać proste operacje sterowania przepływem instrukcji przy użyciu instrukcji if i pętli for (a także nauczysz się, czym są instrukcje if i pętle for!). Dowiesz się, jak ponownie wykorzystać kod z funkcjami, poznasz podstawy klas i obiektów oraz opis niektórych z wielu wbudowanych funkcji i modułów Pythona.
Napotkasz na rozdziały wykorzystujące zarówno prostą, jak i zaawansowaną grafikę żółwia, a także dotyczące stosowania modułu tkinter do wyświetlania grafiki na ekranie komputera. Na końcu wielu rozdziałów zostały zamieszczone łamigłówki programistyczne o różnym stopniu trudności, które pomogą ci utrwalić nowo zdobytą wiedzę, dając szansę samodzielnego napisania małych programów. Po zdobyciu podstawowej wiedzy programistycznej nauczysz się pisać własne gry. Opracujesz dwie gry graficzne i poznasz podstawowe metody wykrywania kolizji, zdarzenia oraz różne techniki animacji.
Większość przykładów zamieszczonych w tej książce wykorzystuje Python IDLE shell (Integrated DeveLopment Environment). IDLE zapewnia podświetlanie składni, funkcję kopiowania i wklejania (podobnie jak w innych aplikacjach) oraz okno edytora, w którym można zapisać kod przeznaczony do późniejszego wykorzystania. To oznacza, że IDLE działa zarówno jak interaktywne środowisko do eksperymentowania, jak i coś w rodzaju edytora tekstu. Przykłady będą działać równie dobrze ze standardową konsolą i zwykłym edytorem tekstu, jednak podświetlanie składni oferowane w IDLE oraz nieco bardziej przyjazne dla użytkownika środowisko są bardzo pomocne. Proces konfiguracji został pokazany w pierwszym rozdziale.
Co znajduje się w tej książce
Oto krótkie podsumowanie tego, co możesz znaleźć w każdym rozdziale.
Rozdział 1 to wprowadzenie do programowania za pomocą instrukcji, dotyczące instalacji Pythona po raz pierwszy.
Rozdział 2 zawiera omówienie podstawowych obliczeń i zmiennych, natomiast rozdział 3 niektórych podstawowych typów zmiennych Pythona, takich jak łańcuchy znaków, listy i krotki.
Rozdział 4 to pierwszy przedsmak modułu turtle. Przeskoczymy od podstawowego programowania do poruszania żółwiem (w kształcie strzałki) po ekranie.
W rozdziale 5 omówiono warianty warunków i instrukcji if, a w kolejnym rozdziale 6 pętle for i while.
W rozdziale 7 po raz pierwszy przedstawione zostały zasady używania i tworzenia funkcji, a następnie w rozdziale 8 omówiono klasy i obiekty. W celu zobrazowania wybranych technik programowania, które są potrzebne w kolejnych rozdziałach dotyczących tworzenia gier, zostało omówionych wystarczająco dużo podstawowych pomysłów. Od tego momentu materiał zaczyna się nieco komplikować.
Rozdział 9 to powrót do modułu turtle i eksperymentowanie z bardziej skomplikowanymi kształtami. W rozdziale 10 przechodzimy do wykorzystania modułu tkinter do bardziej zaawansowanego tworzenia grafiki.
W rozdziałach 11 i 12 tworzona jest nasza pierwsza gra - Ping Pong! - która opiera się na wiedzy zdobytej w poprzednich rozdziałach, z kolei w rozdziałach 13-16 tworzona jest kolejna gra - Mr. Stick pędzi do wyjścia!. Rozdziały dotyczące tworzenia gier to miejsca, w których mogą pojawić się poważne problemy. Jeśli wszystko inne zawiedzie, to pobierz kod z dedykowanej witryny (http://pythonforkids.com) i porównaj swój kod z działającymi przykładami.
W posłowiu, przed zaprezentowaniem przykładów innych języków programowania, krótko omówiono, jak użyć instalatora pakietów Pythona (pip) do zainstalowania modułu PyGame oraz przedstawiono krótki przykład dotyczący PyGame.
W dodatku A znajdziesz listę słów kluczowych Pythona, a w dodatku B listę niektórych przydatnych funkcji wbudowanych (w dalszej części książki dowiesz się, czym są słowa kluczowe i funkcje). Dodatek C zawiera informacje dotyczące rozwiązywania typowych problemów.
Strona pythonforkids.com
Jeśli podczas czytania okaże się, że potrzebujesz pomocy, zajrzyj na dedykowaną stronę http://pythonforkids.com. Możesz stamtąd pobrać pliki wszystkich przykładów z tej książki oraz linki do dalszych informacji, w tym miejsca, w których można pobrać kod źródłowy użyty w książce.
Dobrej zabawy!
Podczas lektury tej książki pamiętaj, że programowanie może być zabawą. Nie myśl o tym jak o pracy. Pomyśl o programowaniu jako o sposobie tworzenia zabawnych gier lub aplikacji, którymi możesz dzielić się ze znajomymi lub innymi osobami.
Nauka programowania to wspaniałe ćwiczenie umysłowe, a rezultaty mogą być bardzo satysfakcjonujące. Jednak przede wszystkim pamiętaj, że cokolwiek robisz, to baw się dobrze!
1NIE WSZYSTKIE WĘŻE PEŁZAJĄ
Program komputerowy to zestaw instrukcji, które powodują, że komputer wykonuje określone działania. Nie chodzi tu o fizyczne części komputera, takie jak przewody, mikroczipy, karty rozszerzeń, dysk twardy i tym podobne, ale o to, co działa w ukryciu na tym sprzęcie. Program komputerowy, zwykle nazywam po prostu programem, to zestaw poleceń, które jasno określają temu sprzętowi, jakie ma wykonać działania. Oprogramowanie to zbiór programów komputerowych.
Bez programów komputerowych prawie każde urządzenie, z którego korzystasz na co dzień, albo przestałoby działać, albo byłoby znacznie mniej przydatne. Programy komputerowe, w takiej czy innej formie, kontrolują nie tylko komputery osobiste, ale także systemy gier wideo, telefony komórkowe i urządzenia GPS w samochodach. Oprogramowanie sprawdza również takie elementy, jak telewizory LCD i ich piloty zdalnego sterowania, a także niektóre najnowsze radia, odtwarzacze DVD, piekarniki i niektóre lodówki. Programy sterują nawet silnikami samochodów, sygnalizacją świetlną, latarniami ulicznymi, sygnalizacją świetlną w pociągach, elektronicznymi billboardami i windami.
Programy są trochę jak myśli. Gdybyś nie miał myśli, wówczas najprawdopodobniej siedziałbyś teraz na podłodze, wpatrując się tępo w ścianę. To właśnie twoja myśl "wstań z podłogi" jest instrukcją lub poleceniem, które każe ciału wstać. W ten sam sposób programy komputerowe używają poleceń, by określić komputerom, co mają robić.
Jeśli wiesz, jak pisać programy komputerowe, to możesz robić wiele przydatnych rzeczy. Jasne, możesz nie być w stanie pisać programów do sterowania samochodami, sygnalizacją świetlną lub lodówką (przynajmniej na początku), ale jesteś w stanie tworzyć strony internetowe, pisać własne gry, a nawet tworzyć programy, które pomogą ci w wykonaniu pracy domowej.
Kilka słów na temat języka
Podobnie jak ludzie, komputery używają wielu języków do komunikowania się, są to tak zwane języki programowania. Język programowania to po prostu sposób komunikowania się z komputerem za pomocą instrukcji zrozumiałych zarówno dla ludzi, jak i dla komputerów.
Istnieją języki programowania nazwane na cześć ludzi (Ada i Pascal), języki nazwane za pomocą prostych akronimów (BASIC i FORTRAN), a nawet kilka nazwanych na cześć programów telewizyjnych, na przykład Python. Tak, język programowania Python został nazwany na cześć programu telewizyjnego Latający cyrk Monty Pythona, a nie węża.
Uwaga: "Latający cyrk Monty Pythona" był alternatywnym brytyjskim programem komediowym, wyemitowanym po raz pierwszy w latach 70. XX wieku i do dziś cieszy się ogromną popularnością wśród pewnej publiczności. Program zawierał skecze, takie jak "Ministerstwo dziwnych kroków", "Taniec z policzkowaniem rybą" i "Sklep z serami" (w którym nie sprzedawano żadnego sera).
Język programowania Python ma wiele cech, które czynią go niezwykle przydatnym dla początkujących. Co najważniejsze, możesz używać Pythona do dość szybkiego pisania prostych, wydajnych programów. W Pythonie nie występuje tak wiele skomplikowanych symboli, jak w innych językach programowania, dzięki czemu jest łatwiejszy do odczytania i dużo bardziej przyjazny dla początkujących. Nie oznacza to, że w Pythonie nie używa się symboli. Po prostu nie są one używane tak często, jak w wielu innych językach.
Instalowanie Pythona
Instalacja Pythona jest dość prosta. W tym miejscu omówimy kroki instalacji w systemach Windows, macOS, Ubuntu i Raspberry Pi. Instalując Pythona, zainstalujesz także program IDLE, czyli Integrated DeveLopment Environment, który pozwala pisać programy w języku Python. Jeśli Python został już zainstalowany na twoim komputerze, to przejdź od razu do części "Po zainstalowaniu Pythona" na stronie 16.
Instalowanie Pythona w systemie Windows
By zainstalować język Python dla systemu Microsoft Windows 11, pobierz Pythona dla systemu Windows w wersji 3.10 lub nowszej ze strony http://www.python.org/downloads/. Dokładna wersja Pythona, którą pobierzesz, nie jest ważna, o ile jest to co najmniej wersja 3.10. Jeśli jednak używasz starszej wersji systemu Windows (na przykład Windows 7), to najnowsza wersja Pythona nie będzie na nim działać. W takim przypadku musisz zainstalować Pythona w wersji 3.8. W celu sprawdzenia, które wersje Pythona będą działać z twoją wersją systemu Windows, wejdź na stronę (https://www.python.org/downloads/windows/).
Rysunek 1.1. Strona pobierania Pythona dla systemu Windows
Jeśli w przeglądarce pojawi się komunikat, czy zapisać, czy otworzyć plik, to wybierz opcję zapisania. Po pobraniu pliku instalacyjnego Pythona dla Windows powinieneś zostać poproszony o jego uruchomienie. Jeśli nie, to otwórz folder Pobrane i kliknij dwukrotnie na plik. Teraz postępuj zgodnie z kolejnymi instrukcjami instalatora wyświetlanymi na ekranie w celu zainstalowania Pythona w domyślnej lokalizacji:
1. Kliknij: Zainstaluj teraz.
2. Gdy pojawi się pytanie, czy zezwolić aplikacji na wprowadzanie zmian w urządzeniu, wybierz: Tak.
3. Kliknij: Zamknij po zakończeniu instalacji, a następnie w menu Start systemu Windows powinieneś zobaczyć kilka ikon Pythona 3.1x:
Rysunek 1.2. Menu Start może wyglądać inaczej w zależności od zainstalowanej wersji Pythona
Teraz przejdź do "Po zainstalowaniu Pythona" na stronie 16 w celu rozpoczęcia pracy z Pythonem.
Instalowanie Pythona w systemie macOS
Jeśli używasz komputera Mac, to powinieneś mieć już wstępnie zainstalowaną wersję Pythona, aczkolwiek może to być starsza wersja tego języka. By upewnić się, że używasz wystarczająco aktualnej wersji, kliknij ikonę szkła powiększającego w prawym górnym rogu pulpitu i wpisz terminal w wyświetlonym oknie dialogowym. Kiedy terminal się otworzy, wpisz python3 --version (to są dwa łączniki, po których następuje słowo "version") i naciśnij enter.
Jeśli zobaczysz polecenie command not found lub zainstalowana wersja jest starsza niż 3.10, to wpisz w przeglądarce następujący adres URL, by pobrać najnowszy instalator dla systemu macOS: http://www.python.org/downloads/.
Rysunek 1.3. Strona pobierania Pythona dla systemu macOS
Po pobraniu kliknij dwukrotnie na plik (jego nazwa powinna brzmieć mniej więcej python3.10.0macosx11.pkg). Zaakceptuj warunki licencji i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, by zainstalować oprogramowanie. Powinieneś zostać poproszony o podanie hasła administratora do komputera Mac przed instalacją Pythona. Jeśli nie znasz hasła, to zapytaj rodziców lub kogokolwiek, kto jest właścicielem twojego komputera.
Rysunek 1.4. Python w Mac Finder
Teraz przejdź do "Po zainstalowaniu Pythona" na stronie 16 w celu rozpoczęcia pracy z Pythonem.
Instalowanie Pythona w systemie Ubuntu
Python jest już wstępnie zainstalowany w systemie Ubuntu Linux, jednak może to nie być najnowsza wersja. Postępuj zgodnie z następującymi instrukcjami, by uzyskać najnowszą wersję Pythona (pamiętaj, że może być konieczna zmiana numeru wersji w poniższym poleceniu w celu uzyskania najnowszej wersji).
1. Kliknij ikonę Pokaż aplikacje (zwykle dziewięć kropek w lewym dolnym rogu ekranu).
2. Wpisz terminal w polu wprowadzania (lub kliknij Terminal, jeśli polecenie jest już wyświetlane).
3. Kiedy pojawi się okno terminala, wpisz:
sudo apt update
sudo apt install python3.10 idle-python3.10
4. Po wprowadzeniu pierwszego polecenia może zostać wyświetlony komunikat proszący o wprowadzenie hasła administratora komputera (jeśli nie znasz hasła administratora, to poproś rodzica lub nauczyciela o jego wprowadzenie).
Rysunek 1.5. Instalacja Pythona w terminalu w systemie Ubuntu. Twój terminal może wyglądać nieco inaczej w zależności od wersji, którą instalujesz
Teraz przejdź do "Po zainstalowaniu Pythona" na stronie 16 w celu rozpoczęcia pracy z Pythonem.