E-book details

Python. Kurs dla nauczycieli i studentów. Wydanie II

Python. Kurs dla nauczycieli i studentów. Wydanie II

Gniewomir Sarbicki

Ebook

Python - prosto, szybko, skutecznie

  • Konstrukcje języka Python
  • Sposoby ich użycia
  • Zadania z rozwiązaniami

Python to nowoczesny, potężny i uniwersalny język programowania, który zdobył dużą popularność zarówno wśród zawodowców z branży IT, jak i w szkołach i na uczelniach - jako doskonałe narzędzie do nauki programowania na różnych poziomach. Duże możliwości, prostota i zwartość składni, czytelność kodu, wszechstronność zastosowań i wsparcie wielu paradygmatów sprawiają, że co najmniej podstawowa znajomość Pythona stanowi jedno z najczęstszych wymagań wobec poszukujących pracy programistów i inżynierów, nawet jeśli na co dzień mają oni używać zupełnie innych technologii.

Ta książka pomoże nauczycielom, uczniom, studentom i wszystkim zainteresowanym poznaniem Pythona opanować podstawy tego języka i rozpocząć stosowanie go w praktyce. Krok po kroku uczy czytać i pisać kod, przedstawiając zarówno konstrukcje i funkcje języka, jak i możliwości ich praktycznego użycia do rozwiązywania typowych problemów programistycznych. Programowanie interfejsów graficznych, programowanie wielowątkowe, programowanie sieciowe, tworzenie stron WWW, obliczenia numeryczne - w tym wszystkim świetnie sprawdzi się Python. I wszystko to można znaleźć w tej książce!

  • Pisanie i uruchamianie programów w Pythonie
  • Podstawowe typy danych i ich zastosowanie
  • Instrukcje warunkowe, pętle i funkcje
  • Obsługa wyjątków i używanie plików
  • Programowanie obiektowe w Pythonie
  • Graficzny interfejs użytkownika
  • Wielowątkowość, sieci, bazy danych i strony WWW
  • Funkcje wyższych rzędów
  • Iteratory, generatory, koprocedury
  • Programowanie asynchroniczne i współbieżne

Programowanie w Pythonie w praktyce

Wstęp (8)

1. Wprowadzenie (11)

  • 1.1. Interaktywna powłoka, interpreter skryptów, edytory i środowiska (11)
  • 1.2. Typy liczbowe (14)
  • 1.3. Typy sekwencyjne (16)
    • 1.3.1. Łańcuchy znaków i łańcuchy bajtów (17)
    • 1.3.2. Listy (20)
    • 1.3.3. Krotki (22)
  • 1.4. Instrukcje warunkowe (22)
    • 1.4.1. Trójargumentowy operator logiczny (23)
    • 1.4.2. Kwantyfikatory (23)
  • 1.5. Pętle for i while (23)
  • 1.6. Listy składane (25)
  • 1.7. Wyrażenia przypisania (26)
  • 1.8. Słowniki (27)
  • 1.9. Funkcje (29)
    • 1.9.1. Zmienna liczba argumentów (32)
    • 1.9.2. Dokumentacja funkcji (33)
    • 1.9.3. Adnotacje funkcji (33)
    • 1.9.4. Zmienne globalne w funkcjach (34)
    • 1.9.5. Funkcje anonimowe (35)
  • 1.10. Programowanie funkcyjne (35)
  • 1.11. Formatowanie łańcuchów (38)
    • 1.11.1. Formatowanie z użyciem operatora % (39)
    • 1.11.2. Formatowanie z użyciem metody format (40)
    • 1.11.3. f-łańcuchy (41)
  • 1.12. Importowanie modułów (42)
  • 1.13. Funkcje matematyczne i liczby pseudolosowe (44)
  • 1.14. Pobieranie argumentów ze standardowego wejścia (45)
  • 1.15. Pobieranie argumentów z linii poleceń. Tworzenie aplikacji konsolowych (45)
  • 1.16. Obsługa wyjątków (46)
  • 1.17. Praca z plikami (47)
  • 1.18. Porównywanie wydajności rozwiązań (50)
  • 1.19. Data i czas (51)
  • 1.20. Serializacja* (52)
  • 1.21. Współpraca z systemem operacyjnym (53)
  • 1.22. Dostęp do zasobów WWW (55)

2. Programowanie obiektowe (57)

  • 2.1. Klasy i instancje, atrybuty i metody (57)
  • 2.2. Konstruktor klasy (60)
  • 2.3. Dziedziczenie i przysłanianie (60)
  • 2.4. Przeciążanie operatorów (61)
  • 2.5. Wywoływanie wyjątków (67)

3. Graficzny interfejs użytkownika (70)

  • 3.1. Pierwszy program w GTK (70)
  • 3.2. Umieszczanie w oknie jego obiektów składowych (72)
  • 3.3. Obsługa zdarzeń (75)
  • 3.4. Metody elementów okna (79)

4. Wielowątkowość (82)

  • 4.1. Pierwszy program wielowątkowy (83)
  • 4.2. Blokady (84)
  • 4.3. Porównanie wydajności (86)
  • 4.4. Kolejki (89)

5. Komunikacja sieciowa (91)

  • 5.1. Pierwszy program (92)
  • 5.2. Serwer wielowątkowy (95)
  • 5.3. Serwer dyskusyjny (96)
  • 5.4. Klient usługi TCP* (99)
  • 5.5. Serwer i klient UDP* (99)

6. Obsługa baz danych (101)

  • 6.1. SQLite (101)
    • 6.1.1. Dostęp do bazy z linii poleceń (101)
    • 6.1.2. Polecenia SQL w SQLite (102)
    • 6.1.3. Moduł sqlite3 (102)
  • 6.2. MySQL* (105)
    • 6.2.1. Dostęp do serwera z linii poleceń i tworzenie kont użytkowników (105)
    • 6.2.2. Polecenia SQL w MySQL (106)
    • 6.2.3. Moduł mysql.connector (107)
  • 6.3. Ćwiczenia (108)

7. Skrypty CGI (110)

  • 7.1. Aplikacje WWW korzystające z bazy danych (114)

8. Obliczenia numeryczne (129)

  • 8.1. Tablice jednowymiarowe (129)
  • 8.2. Wykresy funkcji jednej zmiennej (132)
  • 8.3. Tablice wielowymiarowe (137)
  • 8.4. Wykresy trójwymiarowe (139)
  • 8.5. Pola wektorowe (146)
  • 8.6. Wykresy animowane (147)
  • 8.7. Równania różniczkowe zwyczajne (149)
  • 8.8. Równania różniczkowe cząstkowe (157)

9. Funkcje wyższych rzędów (164)

  • 9.1. Dekoratory funkcji (165)
  • 9.2. Atrybuty funkcji (171)
  • 9.3. Dekoratory jako klasy (172)
  • 9.4. Dekoratory klas (173)
  • 9.5. Menedżery kontekstu (179)

10. Iteratory, generatory, koprocedury (182)

  • 10.1. Funkcje generatorów (185)
  • 10.2. Wyrażenia generatorów i odwzorowywanie generatorów (186)
  • 10.3. Działania na iteratorach (187)
  • 10.4. Menedżery kontekstu z generatorów (192)
  • 10.5. Koprocedury (192)
  • 10.6. Obsługa wyjątków w generatorze (194)
  • 10.7. Algorytm roju cząstek realizowany przez mikrowątki (197)
  • 10.8. Nieblokujące operacje wejścia-wyjścia (201)

11. Programowanie asynchroniczne (204)

  • 11.1. Obiekty oczekiwalne (204)
  • 11.2. Współbieżność zadań (207)
  • 11.3. Asynchroniczne odpowiedniki obiektów i konstrukcji składniowych Pythona (214)
  • 11.4. Asynchroniczny serwer TCP (217)

12. Zarządzanie atrybutami w klasach (220)

  • 12.1. Niskopoziomowe zarządzanie atrybutami (220)
  • 12.2. Właściwości (225)
  • 12.3. Deskryptory (228)
  • 12.4. Metody statyczne i metody klas (230)
  • 12.5. Atrybut. slots. klasy (233)

13. Współbieżność wykorzystująca podprocesy (235)

  • 13.1. Operacje na tablicach NumPy (239)
  • 13.2. Pula podprocesów (242)
  • 13.3. Obiekt podprocesu (243)
  • 13.4. Komunikacja międzyprocesowa (244)
  • 13.5. Synchronizacja podprocesów (249)

14. Rozwiązania (261)

  • Rozdział 1. (261)
  • Rozdział 2. (271)
  • Rozdział 3. (286)
  • Rozdział 4. (298)
  • Rozdział 5. (299)
  • Rozdział 6. (306)
  • Rozdział 7. (311)
  • Rozdział 8. (329)
  • Rozdział 9. (345)
  • Rozdział 10. (365)
  • Rozdział 11. (393)
  • Rozdział 12. (396)
  • Rozdział 13. (401)

Skorowidz (408)

  • Title: Python. Kurs dla nauczycieli i studentów. Wydanie II
  • Author: Gniewomir Sarbicki
  • ISBN: 978-83-283-9354-7, 9788328393547
  • Date of issue: 2022-03-01
  • Format: Ebook
  • Item ID: pytkn2
  • Publisher: Helion