Myśl w języku Python! Nauka programowania

Book description

Aby stać się cenionym programistą, trzeba zacząć od bardzo solidnych podstaw. Python jest idealną propozycją dla osób, które chcą nauczyć się programowania. Składnia i podstawowe koncepcje programistyczne w Pythonie są dość proste do zrozumienia. Sam język ma duże możliwości zastosowania w różnych dziedzinach wiedzy. Umożliwia przy tym pisanie czytelnego i łatwego w konserwacji kodu, co jest ogromną zaletą.

Trzymasz w ręku praktyczny przewodnik do nauki programowania. Znajdziesz w nim przystępnie napisane wyjaśnienia dotyczące podstawowych pojęć programistycznych. Dowiesz się, jak stosować funkcje, czym jest rekurencja, jak wyglądają struktury danych i na czym polega projektowanie obiektowe. W każdym rozdziale znalazły się praktyczne ćwiczenia, dzięki którym będziesz używać poznawanych koncepcji i utrwalisz zdobytą wiedzę.

W tej książce:
przedstawiono podstawy Pythona, w tym jego składnię i semantykę
opisano najważniejsze koncepcje programistyczne i zdefiniowano istotne pojęcia
pokazano, jak stosować wartości, zmienne, instrukcje, funkcje i struktury danych
przedstawiono metody pracy z plikami i bazami danych
wyjaśniono zagadnienia programowania obiektowego
opisano techniki debugowania służące do usuwania błędów składniowych, uruchomieniowych i semantycznych
Python: dzięki niemu zaczniesz myśleć jak informatyk!

Table of contents

  1. Przedmowa
    1. Dziwna historia książki
    2. Konwencje zastosowane w książce
    3. Wykorzystanie przykładów z kodem
    4. Podziękowania
    5. Lista współpracowników
  2. Rozdział 1. Jak w programie
    1. Czym jest program?
    2. Uruchamianie interpretera języka Python
    3. Pierwszy program
    4. Operatory arytmetyczne
    5. Wartości i typy
    6. Języki formalne i naturalne
    7. Debugowanie
    8. Słownik
    9. Ćwiczenia
  3. Rozdział 2. Zmienne, wyrażenia i instrukcje
    1. Instrukcje przypisania
    2. Nazwy zmiennych
    3. Wyrażenia i instrukcje
    4. Tryb skryptowy
    5. Kolejność operacji
    6. Operacje na łańcuchach
    7. Komentarze
    8. Debugowanie
    9. Słownik
    10. Ćwiczenia
  4. Rozdział 3. Funkcje
    1. Wywołania funkcji
    2. Funkcje matematyczne
    3. Złożenie
    4. Dodawanie nowych funkcji
    5. Definicje i zastosowania
    6. Przepływ wykonywania
    7. Parametry i argumenty
    8. Zmienne i parametry są lokalne
    9. Diagramy stosu
    10. Funkcje „owocne” i „puste”
    11. Dlaczego funkcje?
    12. Debugowanie
    13. Słownik
    14. Ćwiczenia
  5. Rozdział 4. Analiza przypadku: projekt interfejsu
    1. Moduł turtle
    2. Proste powtarzanie
    3. Ćwiczenia
    4. Hermetyzowanie
    5. Uogólnianie
    6. Projekt interfejsu
    7. Refaktoryzacja
    8. Plan projektowania
    9. Notka dokumentacyjna
    10. Debugowanie
    11. Słownik
    12. Ćwiczenia
  6. Rozdział 5. Instrukcje warunkowe i rekurencja
    1. Dzielenie bez reszty i wartość bezwzględna
    2. Wyrażenia boolowskie
    3. Operatory logiczne
    4. Wykonywanie warunkowe
    5. Wykonywanie alternatywne
    6. Łańcuchowe instrukcje warunkowe
    7. Zagnieżdżone instrukcje warunkowe
    8. Rekurencja
    9. Diagramy stosu dla funkcji rekurencyjnych
    10. Rekurencja nieskończona
    11. Dane wprowadzane z klawiatury
    12. Debugowanie
    13. Słownik
    14. Ćwiczenia
  7. Rozdział 6. Funkcje „owocne”
    1. Wartości zwracane
    2. Projektowanie przyrostowe
    3. Złożenie
    4. Funkcje boolowskie
    5. Jeszcze więcej rekurencji
    6. „Skok wiary”
    7. Jeszcze jeden przykład
    8. Sprawdzanie typów
    9. Debugowanie
    10. Słownik
    11. Ćwiczenia
  8. Rozdział 7. Iteracja
    1. Ponowne przypisanie
    2. Aktualizowanie zmiennych
    3. Instrukcja while
    4. Instrukcja break
    5. Pierwiastki kwadratowe
    6. Algorytmy
    7. Debugowanie
    8. Słownik
    9. Ćwiczenia
  9. Rozdział 8. Łańcuchy
    1. Łańcuch jest ciągiem
    2. Funkcja len
    3. Operacja przechodzenia za pomocą pętli for
    4. Fragmenty łańcuchów
    5. Łańcuchy są niezmienne
    6. Wyszukiwanie
    7. Wykonywanie pętli i liczenie
    8. Metody łańcuchowe
    9. Operator in
    10. Porównanie łańcuchów
    11. Debugowanie
    12. Słownik
    13. Ćwiczenia
  10. Rozdział 9. Analiza przypadku: gra słów
    1. Odczytywanie list słów
    2. Ćwiczenia
    3. Wyszukiwanie
    4. Wykonywanie pętli z wykorzystaniem indeksów
    5. Debugowanie
    6. Słownik
    7. Ćwiczenia
  11. Rozdział 10. Listy
    1. Lista to ciąg
    2. Listy są zmienne
    3. Operacja przechodzenia listy
    4. Operacje na listach
    5. Fragmenty listy
    6. Metody list
    7. Odwzorowywanie, filtrowanie i redukowanie
    8. Usuwanie elementów
    9. Listy i łańcuchy
    10. Obiekty i wartości
    11. Tworzenie aliasu
    12. Argumenty listy
    13. Debugowanie
    14. Słownik
    15. Ćwiczenia
  12. Rozdział 11. Słowniki
    1. Słownik to odwzorowanie
    2. Słownik jako kolekcja liczników
    3. Wykonywanie pętli i słowniki
    4. Wyszukiwanie odwrotne
    5. Słowniki i listy
    6. Wartości zapamiętywane
    7. Zmienne globalne
    8. Debugowanie
    9. Słownik
    10. Ćwiczenia
  13. Rozdział 12. Krotki
    1. Krotki są niezmienne
    2. Przypisywanie krotki
    3. Krotki jako wartości zwracane
    4. Krotki argumentów o zmiennej długości
    5. Listy i krotki
    6. Słowniki i krotki
    7. Ciągi ciągów
    8. Debugowanie
    9. Słownik
    10. Ćwiczenia
  14. Rozdział 13. Analiza przypadku: wybór struktury danych
    1. Analiza częstości występowania słów
    2. Liczby losowe
    3. Histogram słów
    4. Najczęściej używane słowa
    5. Parametry opcjonalne
    6. Odejmowanie słowników
    7. Słowa losowe
    8. Analiza Markowa
    9. Struktury danych
    10. Debugowanie
    11. Słownik
    12. Ćwiczenia
  15. Rozdział 14. Pliki
    1. Trwałość
    2. Odczytywanie i zapisywanie
    3. Operator formatu
    4. Nazwy plików i ścieżki
    5. Przechwytywanie wyjątków
    6. Bazy danych
    7. Użycie modułu pickle
    8. Potoki
    9. Zapisywanie modułów
    10. Debugowanie
    11. Słownik
    12. Ćwiczenia
  16. Rozdział 15. Klasy i obiekty
    1. Typy definiowane przez programistę
    2. Atrybuty
    3. Prostokąty
    4. Instancje jako wartości zwracane
    5. Obiekty są zmienne
    6. Kopiowanie
    7. Debugowanie
    8. Słownik
    9. Ćwiczenia
  17. Rozdział 16. Klasy i funkcje
    1. Klasa Time
    2. Funkcje „czyste”
    3. Modyfikatory
    4. Porównanie prototypowania i planowania
    5. Debugowanie
    6. Słownik
    7. Ćwiczenia
  18. Rozdział 17. Klasy i metody
    1. Elementy obiektowe
    2. Wyświetlanie obiektów
    3. Kolejny przykład
    4. Bardziej złożony przykład
    5. Metoda init
    6. Metoda __str__
    7. Przeciążanie operatorów
    8. Przekazywanie oparte na typie
    9. Polimorfizm
    10. Interfejs i implementacja
    11. Debugowanie
    12. Słownik
    13. Ćwiczenia
  19. Rozdział 18. Dziedziczenie
    1. Obiekty kart
    2. Atrybuty klasy
    3. Porównywanie kart
    4. Talie
    5. Wyświetlanie talii
    6. Dodawanie, usuwanie, przenoszenie i sortowanie
    7. Dziedziczenie
    8. Diagramy klas
    9. Hermetyzacja danych
    10. Debugowanie
    11. Słownik
    12. Ćwiczenia
  20. Rozdział 19. Przydatne elementy
    1. Wyrażenia warunkowe
    2. Wyrażenia listowe
    3. Wyrażenia generatora
    4. Funkcje any i all
    5. Zbiory
    6. Liczniki
    7. defaultdict
    8. Krotki z nazwą
    9. Zbieranie argumentów słów kluczowych
    10. Słownik
    11. Ćwiczenia
  21. Rozdział 20. Debugowanie
    1. Błędy składniowe
      1. Ciągle wprowadzam zmiany i nic to nie zmienia
    2. Błędy uruchomieniowe
      1. Mój program nie wykonuje absolutnie żadnego działania
      2. Mój program zawiesza się
        1. Pętla nieskończona
        2. Rekurencja nieskończona
        3. Przepływ wykonywania
      3. W momencie uruchomienia programu uzyskuję wyjątek
      4. Dodałem tak wiele instrukcji print, że zostałem przytłoczony danymi wyjściowymi
    3. Błędy semantyczne
      1. Mój program nie działa
      2. Dysponuję wielkim i trudnym wyrażeniem, które nie działa zgodnie z oczekiwaniami
      3. Mam funkcję, która nie zwraca tego, czego oczekuję
      4. Naprawdę, ale to naprawdę nie wiem, co mam zrobić, i potrzebuję pomocy
      5. Nie, naprawdę potrzebuję pomocy
  22. Rozdział 21. Analiza algorytmów
    1. Tempo wzrostu
    2. Analiza podstawowych operacji w języku Python
    3. Analiza algorytmów wyszukiwania
    4. Tablice mieszające
    5. Słownik
      1. O autorze
      2. Kolofon

Product information

  • Title: Myśl w języku Python! Nauka programowania
  • Author(s): Allen B. Downey
  • Release date: February 2017
  • Publisher(s): Helion
  • ISBN: 9788328330023