Opis treści
Nie marnuj czasu, próbując nagiąć Pythona, aby pasował do wzorców opanowanych w innych językach programowania. Prostota Pythona pozwala szybko osiągnąć produktywność, ale często oznacza to, że nie korzystamy ze wszystkich możliwości oferowanych przez język. Dzięki nowemu wydaniu tego podręcznika nauczysz się, jak pisać wydajny, nowoczesny kod Pythona 3 z wykorzystaniem jego najlepszych koncepcji.Poznaj i stosuj idiomatyczne cechy Pythona 3. Luciano Ramalho prezentuje kluczowe funkcjonalności języka i pokazuje, jak uczynić kod krótszym, szybszym i bardziej czytelnym. W pełni uaktualnione o nowe funkcjonalności, to wydanie składa się z pięciu części, które można potraktować jako pięć krótkich książek w jednej:• Struktury danych: Sekwencje, słowniki, zbiory, Unicode i klasy danych• Funkcje jako obiekty: Funkcje pierwszej klasy, powiązane z tym wzorce projektowe oraz wskazówki dla typów w deklaracjach funkcji• Klasy i protokoły: Składanie, dziedziczenie, domieszki, interfejsy, przeciążanie operatorów, protokoły i jeszcze więcej typów statycznych• Przepływ sterowania: Menedżery kontekstu, generatory, współprogramy, async/await oraz pule wątków/procesów• Metaprogramowanie: Właściwości, deskryptory atrybutów, dekoratory klas oraz nowe sztuczki metaprogramowania klas, które zastępują lub upraszczają metaklasyLuciano Ramalho jest głównym konsultantem w firmie Thoughtworks i członkiem Python Software Foundation.„Książka, po którą sięgam, gdy szukam szczegółowych wyjaśnień i sposobu użycia jakiejś funkcjonalności Pythona. Sposób uczenia i prezentowania wiedzy przez Luciano jest wspaniały. Niezbędna pozycja dla zaawansowanych no-wicjuszy, którzy chcą rozwijać i umacniać swoją wiedzę”.— Carol WillingCzłonkini Python Steering Council(2020-2021)„Nie jest to zwyczajowa, sucha książka o kodowaniu, ale pozycja pełna użytecznych, przetestowanych przykładów, okraszonych rozsądną dawką humoru. Moi koledzy i ja użyliśmy tej świetnie napisanej książki do przeniesienia na-szych umiejętności na kolejny poziom”.—Maria McKinleySenior Software Engineer