Podstawy programowania w Pythonie. Przykłady i ćwiczenia
  • Za darmo

ebook Podstawy programowania w Pythonie. Przykłady i ćwiczenia Lidia Stępień, Marcin R. Stępień, Hubert Dróżdż

Lidia Stępień, Marcin R. Stępień, Hubert Dróżdż
Wydawca: Uniwersytet Jana Długosza w Częstochowie
Rok wydania: 2024
Opis Spis treści Szczegóły Recenzje

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.

Spis treści ebooka Podstawy programowania w Pythonie. Przykłady i ćwiczenia

Spis treści
Przedmowa 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:
pdf
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

Średnia ocena

0.0
0 recenzji

  • Reviews (0)

@CUSTOMER_NAME@

@COMMENT_TITLE@

@COMMENT_COMMENT@

@COMMENT_AVATAR@

@CUSTOMER_NAME@

@AUTHOR_PROFILE@ @COMMENT_ISO_COUNTRY@ @VERIFY_PURCHASE@
@COMMENT_DATE@
@COMMENT_NO_APPROVE@

@COMMENT_COMMENT@

Reply
@COMMENT_AVATAR@

@CUSTOMER_NAME@

@AUTHOR_PROFILE@ @COMMENT_ISO_COUNTRY@ @VERIFY_PURCHASE@
@COMMENT_DATE@
@COMMENT_NO_APPROVE@

@COMMENT_COMMENT@

Reply

Na jakich urządzeniach mogę czytać ebooki?

Ikona ebooka Na czytnikach Kindle, PocketBook, Kobo i innych
Ikona komutera Na komputerach stacjonarnych i laptopach
Ikona telefonu Na telefonach z systemem ANDROID lub iOS
Ikona urządzenia elektroniczne Na wszystkich urządzeniach obsługujących format plików PDF, Mobi, EPub
  • Za darmo
0,00 zł