ROZDZIAŁ 13 · STRONA 729

Automatyzacja przy użyciu funkcji

Funkcje · Dekompozycja · Parametry · return · zakresy. Nauczymy się, jak przekształcać duże programy w zrozumiałe części: nadać algorytmom nazwy, przekazywać im dane, uzyskiwać wyniki, zarządzać zakresem i ponownie używać kodu bez kopiowania — pomysł, który można przełożyć na każdy inny język programowania.

~9 godzin def, return, scope 27 praktyk
13.1Dlaczego program potrzebuje funkcji73013.2Prawdziwa automatyzacja. Pierwsza funkcja73513.3Co się dzieje podczas wywołania73713.4Parametr i argument73813.5Argumenty zmienne i niezmienne74113.6Argumenty pozycyjne i nazwane74613.7Wartości domyślne i *args748Pułapka zmiennej domyślnej mutowalnej13.8*args, **kwargs i rozpakowywanie75213.9Positional-only i keyword-only75513.10Odpowiedz75913.11Wejście, Operacja, Wyjście: Funkcje czyste76313.12Zmienne globalne i lokalne76613.13Zagnieżdżone funkcje i nonlocal77213.14Stos wywołań i traceback77513.15Projektowanie dobrej funkcji77913.16Dockstringi i wskazówki typu78313.17Funkcje jako obiekty78513.18Funkcje lambda78813.19Funkcje jak taśma produkcyjna79313.20Refaktoryzacja projektów rozdziału 1279413.21Debug Lab: typowe błędy funkcji79713.22Funkcje testowania80213.23Mini-projekt – zadanie domowe z matematyki80513.24Mini-projekt – analizator tekstu v280713.25Mini-Projekty - Konwertery i narzędzia do zbierania80813.26Mini-projekt — Turtle Function Studio811Podsumowanie rozdziału