- Za darmo
ebook Podstawy programowania w Pythonie. Przykłady i ćwiczenia
Lidia Stępień, Marcin R. Stępień, Hubert Dróżdż
Wydawca:
Uniwersytet Jana Długosza w Częstochowie
Rok wydania:
2024
Program komputerowy to szczegółowy zestaw instrukcji określający działania, jakie po-
winien wykonać komputer. Powstaje on jako wynik procesu tworzenia kodu źródłowego
programu w wybranym języku programowania, który jest zbiorem reguł określających, ja-
kie ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisują ten program.
Na dalszym etapie przetwarzanie kodu źródłowego programu może odbywać się poprzez:
• kompilację - kod źródłowy jest tłumaczony do postaci języka maszynowego,
• interpretację - kod źródłowy jest na bieżąco tłumaczony i wykonywany przez do-
datkowy program zwany interpreterem.
Wówczas o języku programowania podlegającym kompilacji powiemy, że jest kompilowa-
nym językiem programowania, a o tym podlegającym interpretacji, że jest interpretowa-
nym językiem programowania.
Język Python jest interpretowanym językiem programowania wysokiego poziomu stwo-
rzonym przez holenderskiego programistę Guido van Rossuma w 1990 roku. Język ten zo-
stał nazwany w ślad za programem telewizyjnym BBC „Latający cyrk Monty Pythona”.
Python rozwijany jest jako projekt Open Source, a jego interpretery są dostępne na różne
systemy operacyjne. Język Python jest jednym z najmłodszych, ale zarazem najczęściej
używanych obecnie języków programowania. Ma dosyć łatwą składnię, stosunkowo nie-
wiele słów kluczowych, a także bardzo bogatą bazę bibliotek, z pomocą których można
tworzyć nawet bardzo skomplikowane projekty programistyczne. Język Python ma bo-
gate możliwości zarówno programowania proceduralnego, jak i obiektowego. Jego zaletą
jest również to, że słowa kluczowe używane w tym języku są identyczne jak w innych
nowoczesnych językach wysokopoziomowych takich jak: C++, JAVA czy PHP. Jednak
w porównaniu z tymi językami, tworzenie programów w Pythonie jest bardziej intuicyjne
i nie wymaga od początkującego użytkownika szerokiej wiedzy informatycznej i pamię-
tania wielu edycyjnych szczegółów. Z drugiej strony, w języku tym występują ciekawe
rozwiązania, których inne języki nie posiadają, m.in. istnienie obliczeniowego typu liczb
zespolonych, operatora potęgowania, domyślnego typu wprowadzanych danych jako da-
nych typu str czy bardzo wygodnej struktury danych list, a także w zasadzie nieogra-
niczonego zakresu danych liczbowych.
6
Przedmowa 7
Język Python jest wieloparadygmatowym językiem programowania o wszechstronnych
zastosowaniach, zoptymalizowanym pod kątem czytelności kodu, zwięzłej składni i jakości
oprogramowania. Python jest obecnie jednym z najpopularniejszych języków programo-
wania. Jest używany w różnych dziedzinach, od tworzenia aplikacji webowych i analizy
danych po sztuczną inteligencję i uczenie maszynowe. Duża społeczność i bogactwo biblio-
tek sprawiają, że Python jest idealny zarówno dla początkujących, jak i zaawansowanych
programistów.
W oparciu o wieloletnie doświadczenie dydaktyczne w nauczaniu różnych języków pro-
gramowania na kierunku informatyka studiów pierwszego stopnia i biorąc pod uwagę różny
stopień zaawansowania w programowaniu studentów rozpoczynających studia, można
stwierdzić zdecydowanie, że nauka języka Python jako pierwszego języka programowa-
nia wydaje się być najlepszym rozwiązaniem. Między innymi dzięki Pythonowi studenci
uczą się dbania o czytelność kodu i łatwiej jest im przenieść te umiejętności do innych
języków programowania, które nie mają już tak restrykcyjnych wymagań.
Proponowany podręcznik jest praktycznym przewodnikiem skupiającym się na pod-
stawach programowania w języku Python. Nadrzędnym jego celem jest wykształcenie
umiejętności programowania w języku Python poprzez omówienie podstawowych kon-
strukcji programistycznych i struktur danych oraz bogatą ilustrację z wykorzystaniem
odpowiednio dobranych przykładów. Ponadto utrwaleniu nabytych umiejętności służyć
będą zadania do samodzielnego rozwiązania. Nabyte, poprzez studiowanie tego podręcz-
nika, umiejętności czytelnik będzie mógł wykorzystać w każdym napotkanym systemie
oprogramowania opartym na Pythonie.
Niniejszy podręcznik nie mógłby powstać bez nieocenionej pomocy wielu osób, ale
na szczególne wyróżnienie zasługuje dr hab. Andrzej Zbrzezny prof. UJD. Zawsze
mogliśmy liczyć na Jego wsparcie i sugestie będące efektem wieloletniej pracy ze studen-
tami, a także na inspirowanie nas swoimi pomysłami. Dziękujemy, że mieliśmy możliwość
czerpania z zasobów tak bogatego doświadczenia naukowego i dydaktycznego.
winien wykonać komputer. Powstaje on jako wynik procesu tworzenia kodu źródłowego
programu w wybranym języku programowania, który jest zbiorem reguł określających, ja-
kie ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisują ten program.
Na dalszym etapie przetwarzanie kodu źródłowego programu może odbywać się poprzez:
• kompilację - kod źródłowy jest tłumaczony do postaci języka maszynowego,
• interpretację - kod źródłowy jest na bieżąco tłumaczony i wykonywany przez do-
datkowy program zwany interpreterem.
Wówczas o języku programowania podlegającym kompilacji powiemy, że jest kompilowa-
nym językiem programowania, a o tym podlegającym interpretacji, że jest interpretowa-
nym językiem programowania.
Język Python jest interpretowanym językiem programowania wysokiego poziomu stwo-
rzonym przez holenderskiego programistę Guido van Rossuma w 1990 roku. Język ten zo-
stał nazwany w ślad za programem telewizyjnym BBC „Latający cyrk Monty Pythona”.
Python rozwijany jest jako projekt Open Source, a jego interpretery są dostępne na różne
systemy operacyjne. Język Python jest jednym z najmłodszych, ale zarazem najczęściej
używanych obecnie języków programowania. Ma dosyć łatwą składnię, stosunkowo nie-
wiele słów kluczowych, a także bardzo bogatą bazę bibliotek, z pomocą których można
tworzyć nawet bardzo skomplikowane projekty programistyczne. Język Python ma bo-
gate możliwości zarówno programowania proceduralnego, jak i obiektowego. Jego zaletą
jest również to, że słowa kluczowe używane w tym języku są identyczne jak w innych
nowoczesnych językach wysokopoziomowych takich jak: C++, JAVA czy PHP. Jednak
w porównaniu z tymi językami, tworzenie programów w Pythonie jest bardziej intuicyjne
i nie wymaga od początkującego użytkownika szerokiej wiedzy informatycznej i pamię-
tania wielu edycyjnych szczegółów. Z drugiej strony, w języku tym występują ciekawe
rozwiązania, których inne języki nie posiadają, m.in. istnienie obliczeniowego typu liczb
zespolonych, operatora potęgowania, domyślnego typu wprowadzanych danych jako da-
nych typu str czy bardzo wygodnej struktury danych list, a także w zasadzie nieogra-
niczonego zakresu danych liczbowych.
6
Przedmowa 7
Język Python jest wieloparadygmatowym językiem programowania o wszechstronnych
zastosowaniach, zoptymalizowanym pod kątem czytelności kodu, zwięzłej składni i jakości
oprogramowania. Python jest obecnie jednym z najpopularniejszych języków programo-
wania. Jest używany w różnych dziedzinach, od tworzenia aplikacji webowych i analizy
danych po sztuczną inteligencję i uczenie maszynowe. Duża społeczność i bogactwo biblio-
tek sprawiają, że Python jest idealny zarówno dla początkujących, jak i zaawansowanych
programistów.
W oparciu o wieloletnie doświadczenie dydaktyczne w nauczaniu różnych języków pro-
gramowania na kierunku informatyka studiów pierwszego stopnia i biorąc pod uwagę różny
stopień zaawansowania w programowaniu studentów rozpoczynających studia, można
stwierdzić zdecydowanie, że nauka języka Python jako pierwszego języka programowa-
nia wydaje się być najlepszym rozwiązaniem. Między innymi dzięki Pythonowi studenci
uczą się dbania o czytelność kodu i łatwiej jest im przenieść te umiejętności do innych
języków programowania, które nie mają już tak restrykcyjnych wymagań.
Proponowany podręcznik jest praktycznym przewodnikiem skupiającym się na pod-
stawach programowania w języku Python. Nadrzędnym jego celem jest wykształcenie
umiejętności programowania w języku Python poprzez omówienie podstawowych kon-
strukcji programistycznych i struktur danych oraz bogatą ilustrację z wykorzystaniem
odpowiednio dobranych przykładów. Ponadto utrwaleniu nabytych umiejętności służyć
będą zadania do samodzielnego rozwiązania. Nabyte, poprzez studiowanie tego podręcz-
nika, umiejętności czytelnik będzie mógł wykorzystać w każdym napotkanym systemie
oprogramowania opartym na Pythonie.
Niniejszy podręcznik nie mógłby powstać bez nieocenionej pomocy wielu osób, ale
na szczególne wyróżnienie zasługuje dr hab. Andrzej Zbrzezny prof. UJD. Zawsze
mogliśmy liczyć na Jego wsparcie i sugestie będące efektem wieloletniej pracy ze studen-
tami, a także na inspirowanie nas swoimi pomysłami. Dziękujemy, że mieliśmy możliwość
czerpania z zasobów tak bogatego doświadczenia naukowego i dydaktycznego.
Spis treści ebooka Podstawy programowania w Pythonie. Przykłady i ćwiczenia
Spis treściPrzedmowa 6
1. Wprowadzenie do Pythona 8
1.1. Instalacja interpretera Python 3 . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2. Język Python - podstawy . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Praca z interpreterem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4. Moduły . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 22
2. Podstawowe konstrukcje programistyczne 24
2.1. Instrukcja warunkowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.1. Prosta instrukcja warunkowa . . . . . . . . . . . . . . . . . . . . . 24
2.1.2. Instrukcja warunkowa z klauzulą else . . . . . . . . . . . . . . . . 26
2.1.3. Pełna instrukcja warunkowa . . . . . . . . . . . . . . . . . . . . . . 28
2.2. Instrukcja wyboru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3. Instrukcje iteracyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.1. Pętla while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.2. Instrukcja iteracyjna for . . . . . . . . . . . . . . . . . . . . . . . 37
2.4. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 41
2.4.1. Instrukcja warunkowa . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.2. Instrukcje iteracyjne . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3. Łańcuchy znaków 47
3.1. Podstawowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2. Indeksowanie i wykrawanie . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3. Metody klasy str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4. Formatowanie łańcuchów . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 61
4. Funkcje 63
4.1. Funkcja - postać ogólna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3
Spis treści 4
4.2. Argumenty funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3. Wywołanie funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 71
5. Struktury danych 74
5.1. Listy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1.1. Listy - podstawowe informacje . . . . . . . . . . . . . . . . . . . . 74
5.1.2. Wybrane metody klasy list . . . . . . . . . . . . . . . . . . . . . . 78
5.1.3. Argumenty wywołania programu . . . . . . . . . . . . . . . . . . . 83
5.2. Krotki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.3. Zbiory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.1. Zbiory - podstawy . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.2. Metody klasy set . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.3.3. Zbiory zamrożone . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4. Słowniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.1. Tworzenie słownika . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.2. Dodawanie i nadpisywanie danych w słowniku . . . . . . . . . . . . 95
5.4.3. Usuwanie elementów ze słownika . . . . . . . . . . . . . . . . . . . 96
5.4.4. Metody wbudowane słowników . . . . . . . . . . . . . . . . . . . . 97
5.4.5. Argumenty nazwane funkcji . . . . . . . . . . . . . . . . . . . . . . 100
5.5. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 102
5.5.1. Listy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.5.2. Zbiory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.5.3. Słowniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.4. Zadania różne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6. Obsługa wyjątków i plików 108
6.1. Błędy składniowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2. Obsługa wyjątków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3. Obsługa plików . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.3.1. Tryby otwarcia plików . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.3.2. Wybrane metody klasy file . . . . . . . . . . . . . . . . . . . . . 118
6.3.3. Przykłady pracy z plikami tekstowymi . . . . . . . . . . . . . . . . 121
6.4. Pliki binarne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.4.1. Wybrane metody obiektów plików binarnych . . . . . . . . . . . . 130
6.5. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 132
7. Programowanie obiektowe 136
7.1. Podstawowe pojęcia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Spis treści 5
7.1.1. Definiowanie klas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.1.2. Hermetyzowanie nazw w klasie . . . . . . . . . . . . . . . . . . . . 139
7.2. Dziedziczenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.3. Metody statyczne i klasowe . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.4. Przeciążanie operatorów . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.4.1. Metody do porównywania obiektów . . . . . . . . . . . . . . . . . . 151
7.4.2. Podstawowe metody działań dwuargumentowych . . . . . . . . . . 151
7.4.3. Metody prawostronnych działań dwuargumentowych . . . . . . . . 153
7.4.4. Metody działań dwuargumentowych z aktualizacją
w miejscu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
7.4.5. Pozostałe wybrane metody działań . . . . . . . . . . . . . . . . . . 155
7.4.6. Przykład klasy Vector . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.5. Właściwości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
7.6. Serializowanie obiektów Pythona . . . . . . . . . . . . . . . . . . . . . . . 160
7.7. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 165
8. Zaawansowane elementy języka Python 169
8.1. Listy składane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2. Funkcje anonimowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
8.3. Typy wyliczeniowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
8.3.1. Klasa Enum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
8.3.2. Klasa IntEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
8.3.3. Klasa Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
8.3.4. Klasa IntFlag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
8.4. Iteratory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
8.4.1. Moduł itertools . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
8.5. Generatory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
8.6. Zadania do samodzielnego rozwiązania . . . . . . . . . . . . . . . . . . . . 207
8.6.1. Iteratory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
8.6.2. Moduł itertools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
8.6.3. Funkcje generatorowe . . . . . . . . . . . . . . . . . . . . . . . . . 209
8.6.4. Wyrażenia generatorowe . . . . . . . . . . . . . . . . . . . . . . . . 209
8.6.5. Zadania dodatkowe . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Literatura 211
Szczegóły ebooka Podstawy programowania w Pythonie. Przykłady i ćwiczenia
- Wydawca:
- Uniwersytet Jana Długosza w Częstochowie
- Rok wydania:
- 2024
- Typ publikacji:
- Ebook
- Format:
- ISBN:
- 978-83-67984-14-0
- Autorzy:
- Lidia Stępień,Marcin R. Stępień,Hubert Dróżdż
- Miejsce wydania:
- Częstochowa
- Liczba Stron:
- 211
Recenzje ebooka Podstawy programowania w Pythonie. Przykłady i ćwiczenia
-
Reviews (0)
Na jakich urządzeniach mogę czytać ebooki?
Na czytnikach Kindle, PocketBook, Kobo i innych
Na komputerach stacjonarnych i laptopach
Na telefonach z systemem ANDROID lub iOS
Na wszystkich urządzeniach obsługujących format plików PDF, Mobi, EPub
- Za darmo
0,00 zł
@CUSTOMER_NAME@
@COMMENT_TITLE@
@COMMENT_COMMENT@