reklama - zainteresowany?

Programowanie w Pythonie dla - Helion

Programowanie w Pythonie dla
ebook
Autor: Al Sweigart
Tytuł oryginału: Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code
Tłumaczenie: Rados
ISBN: 978-83-8322-903-4
stron: 376, Format: ebook
Data wydania: 2021-12-01
Księgarnia: Helion

Cena książki: 71,20 zł (poprzednio: 87,90 zł)
Oszczędzasz: 19% (-16,70 zł)

Dodaj do koszyka Programowanie w Pythonie dla

Tagi: Python - Programowanie

Programistów Pythona ograniczaj

Dodaj do koszyka Programowanie w Pythonie dla

 

Osoby które kupowały "Programowanie w Pythonie dla ", wybierały także:

  • Django 4. Praktyczne tworzenie aplikacji sieciowych. Wydanie IV
  • Zaawansowane uczenie maszynowe z językiem Python
  • Flask. Kurs video. Od pierwszej linijki kodu do praktycznego zastosowania
  • Python na start. Kurs video. Tw
  • Python. Kurs video. Programowanie asynchroniczne

Dodaj do koszyka Programowanie w Pythonie dla

Spis treści

Programowanie w Pythonie dla średnio zaawansowanych. Najlepsze praktyki tworzenia czystego kodu eBook -- spis treści

  • O autorze
  • O recenzencie technicznym
  • Podziękowania
  • Wprowadzenie
    • Kto powinien przeczytać tę książkę i dlaczego
    • O tej książce
    • Twoja podróż programistyczna
  • Część I. Pierwsze kroki
  • 1. Obsługa błędów i poszukiwanie pomocy
    • Komunikaty o błędach w Pythonie
      • Analiza śladu
      • Wyszukiwanie informacji na temat komunikatów o błędach
    • Zapobieganie błędom dzięki wykorzystaniu linterów
    • Jak prosić o pomoc w programowaniu?
      • Ogranicz konieczność dopowiadania od razu podaj jak najwięcej informacji
      • Sformułuj swój problem w postaci rzeczywistego pytania
      • Zadawaj pytania na właściwej stronie internetowej
      • Podsumuj swoje pytanie w nagłówku
      • Wyjaśnij, co ma robić Twój kod
      • Dołącz kompletny komunikat o błędzie
      • Udostępnij swój pełny kod
      • Zastosuj odpowiednie formatowanie, aby poprawić czytelność kodu
      • Powiedz osobom pomagającym, czego już próbowałeś
      • Opisz swoją konfigurację
    • Przykłady pytań
    • Podsumowanie
  • 2. Konfiguracja środowiska i wiersz polecenia
    • System plików
      • Ścieżki w Pythonie
      • Katalog domowy
      • Bieżący katalog roboczy
      • Ścieżki względne i bezwzględne
    • Programy i procesy
    • Wiersz poleceń
      • Otwieranie okna terminala
      • Uruchamianie programów z wiersza poleceń
      • Korzystanie z argumentów wiersza poleceń
      • Uruchamianie kodu Pythona z wiersza poleceń z wykorzystaniem argumentu -c
      • Uruchamianie programów w Pythonie z wiersza poleceń
      • Uruchamianie programu py.exe
      • Uruchamianie poleceń systemu operacyjnego z programu Pythona
      • Minimalizacja wpisywania dzięki mechanizmowi uzupełniania z wykorzystaniem klawisza Tab
      • Wyświetlanie historii poleceń
      • Korzystanie z popularnych poleceń
        • Dopasowywanie folderów i nazw plików do symboli wieloznacznych
        • Zmiana katalogów za pomocą polecenia cd
        • Wyświetlanie zawartości folderu za pomocą poleceń dir i ls
        • Wyświetlanie zawartości podfolderów za pomocą poleceń dir /s i find
        • Kopiowanie plików i folderów za pomocą poleceń copy i cp
        • Przenoszenie plików i folderów za pomocą poleceń move i mv
        • Zmienianie nazw plików i folderów za pomocą poleceń ren i mv
        • Usuwanie plików i folderów za pomocą poleceń del i rm
        • Tworzenie folderów za pomocą poleceń md i mkdir
        • Usuwanie folderów za pomocą poleceń rd i rmdir
        • Wyszukiwanie programów za pomocą poleceń where i which
        • Czyszczenie terminala za pomocą poleceń cls i clear
    • Zmienne środowiskowe i PATH
      • Wyświetlanie wartości zmiennych środowiskowych
      • Korzystanie ze zmiennej środowiskowej PATH
      • Zmiana zawartości zmiennej środowiskowej PATH dla wiersza polecenia
      • Trwałe dodawanie folderów do zmiennej PATH w systemie Windows
      • Trwałe dodawanie folderów do zmiennej PATH w systemach macOS i Linux
    • Uruchamianie programów Pythona bez wiersza poleceń
      • Uruchamianie programów Pythona w systemie Windows
      • Uruchamianie programów Pythona w systemie macOS
      • Uruchamianie programów Pythona w systemie Ubuntu Linux
    • Podsumowanie
  • Część II. Najlepsze praktyki, narzędzia i techniki
  • 3. Formatowanie kodu za pomocą narzędzia Black
    • Jak stracić przyjaciół i zrobić sobie wrogów wśród współpracowników?
    • Przewodniki stylu i PEP 8
    • Odstępy w poziomie
      • Używaj jako wcięć znaków spacji
      • Odstępy w obrębie wiersza
        • Umieść jedną spację pomiędzy operatorami a identyfikatorami
        • Nie wstawiaj spacji przed separatorami i wstaw pojedynczą spację po separatorach
        • Nie umieszczaj spacji przed kropkami ani po nich
        • Nie umieszczaj spacji po nazwie funkcji, metody lub kontenera
        • Nie umieszczaj spacji za otwierającymi nawiasami kwadratowymi lub przed nawiasami zamykającymi
        • Umieść dwie spacje przed komentarzami kończącymi wiersz
    • Odstępy w pionie
      • Przykład zastosowania odstępów w pionie
      • Najlepsze praktyki dotyczące odstępów w pionie
    • Black: bezkompromisowy formater kodu
      • Instalacja narzędzia Black
      • Uruchamianie narzędzia Black z wiersza polecenia
        • Dostosowywanie ustawienia długości wiersza
        • Wyłączenie ujmowania ciągów znaków w cudzysłów
        • Podgląd zmian, które ma zamiar wprowadzić Black
      • Wyłączenie programu Black dla części Twojego kodu
    • Podsumowanie
  • 4. Wybieranie zrozumiałych nazw
    • Style wielkości liter
    • Konwencje nazewnictwa PEP 8
    • Odpowiednia długość nazw
      • Zbyt krótkie nazwy
      • Zbyt długie nazwy
        • Prefiksy w nazwach
        • Sekwencyjne przyrostki liczbowe w nazwach
    • Korzystaj z nazw ułatwiających wyszukiwanie
    • Unikaj dowcipów, kalamburów i określeń żargonowych
    • Nie nadpisuj wbudowanych nazw
    • Najgorsze możliwe nazwy zmiennych
    • Podsumowanie
  • 5. Wyszukiwanie cuchnącego kodu
    • Powielony kod
    • Magiczne liczby
    • Kod wykomentowany i martwy
    • Debugowanie za pomocą komunikatów
    • Zmienne z przyrostkami numerycznymi
    • Klasy, które powinny być funkcjami lub modułami
    • Listy składane wewnątrz list składanych
    • Puste bloki except i niejasne komunikaty o błędach
    • Mity związane z cuchnącym kodem
      • Mit: funkcje powinny mieć tylko jedną instrukcję return na końcu
      • Mit: funkcje powinny zawierać co najwyżej jedną instrukcję try
      • Mit: argumenty-flagi są złe
      • Mit: zmienne globalne są złe
      • Mit: komentarze są niepotrzebne
    • Podsumowanie
  • 6. Pisanie pythonicznego kodu
    • Zen Pythona
    • Naucz się cenić znaczące wcięcia
    • Częste przypadki niewłaściwego korzystania ze składni
      • Używaj funkcji enumerate() zamiast range()
      • Używaj instrukcji with zamiast open() i close()
      • Do porównywania z None używaj is zamiast ==
    • Formatowanie ciągów znaków
      • Jeśli ciąg zawiera wiele lewych ukośników, używaj surowych ciągów znaków
      • Formatowanie ciągów za pomocą f-stringów
    • Tworzenie płytkich kopii list
    • Pythoniczne sposoby korzystania ze słowników
      • Używaj ze słownikami wywołań get() i setdefault()
      • Użyj dla wartości domyślnych klasy collections.defaultdict
      • Używaj słowników zamiast instrukcji switch
    • Wyrażenia warunkowe: brzydki operator trójargumentowy Pythona
    • Korzystanie z wartości zmiennych
      • Operatory przypisania i operatory porównania
      • Sprawdzanie, czy zmienna jest jedną z wielu wartości
    • Podsumowanie
  • 7. Programistyczny żargon
    • Definicje
      • Python język i Python interpreter
      • Odśmiecanie
      • Literały
      • Słowa kluczowe
      • Obiekty, wartości, egzemplarze i tożsamości
      • Elementy
      • Obiekty mutowalne i niemutowalne
      • Indeksy, klucze i skróty
      • Kontenery, sekwencje, mapowanie i typy zbiorów
      • Metody dunder i metody magiczne
      • Moduły i pakiety
      • Obiekty wywoływalne i obiekty pierwszej klasy
    • Często mylone terminy
      • Instrukcje a wyrażenia
      • Blok, klauzula i ciało
      • Zmienna a atrybut
      • Funkcja a metoda
      • Obiekt iterowalny a iterator
      • Błędy składniowe, błędy wykonania a błędy semantyczne
      • Parametry a argumenty
      • Koercja typu a rzutowanie typu
      • Właściwości a atrybuty
      • Kod bajtowy a kod maszynowy
      • Skrypt a program, język skryptowy a język programowania
      • Biblioteka, framework, SDK, silnik i API
    • Podsumowanie
    • Dalsza lektura
  • 8. Znane pułapki Pythona
    • Nie dodawaj ani nie usuwaj elementów z listy, kiedy po niej iterujesz
    • Nie kopiuj mutowalnych wartości inaczej niż poprzez wywołania copy.copy() lub copy.deepcopy()
    • Nie używaj wartości mutowalnych w roli argumentów domyślnych
    • Nie buduj ciągów za pomocą konkatenacji
    • Nie oczekuj, że funkcja sort() posortuje listę alfabetycznie
    • Nie zakładaj, że liczby zmiennoprzecinkowe są idealnie dokładne
    • Nie twórz łańcucha operatorów nierówności !=
    • Nie zapominaj o przecinku w krotce złożonej z jednego elementu
    • Podsumowanie
  • 9. Ezoteryczne osobliwości Pythona
    • Dlaczego 256 to jest 256, ale 257 to nie jest 257
    • Internowanie ciągów
    • Sztuczne operatory inkrementacji i dekrementacji w Pythonie
    • Wszystko z nic
    • Wartości logiczne są liczbami całkowitymi
    • Tworzenie łańcucha operatorów różnego rodzaju
    • Antygrawitacja w Pythonie
    • Podsumowanie
  • 10. Pisanie skutecznych funkcji
    • Nazwy funkcji
    • Kompromisy dotyczące rozmiaru funkcji
    • Parametry i argumenty funkcji
      • Argumenty domyślne
      • Korzystanie z * i ** w celu przekazywania argumentów do funkcji
      • Użycie * do tworzenia funkcji wariadycznych
      • Tworzenie funkcji wariadycznych za pomocą składni **
      • Tworzenie funkcji-wrapperów za pomocą składni * i **
    • Programowanie funkcyjne
      • Skutki uboczne
      • Funkcje wyższego rzędu
      • Funkcje lambda
      • Mapowanie i filtrowanie z wykorzystaniem list składanych
    • Zwracane wartości zawsze powinny mieć ten sam typ danych
    • Zgłaszanie wyjątków a zwracanie kodów błędów
    • Podsumowanie
  • 11. Komentarze, docstringi i wskazówki typu
    • Komentarze
      • Styl komentarzy
      • Komentarze inline
      • Komentarze wyjaśniające
      • Komentarze podsumowujące
      • Komentarze typu wyciągnięte wnioski
      • Komentarze prawne
      • Profesjonalny ton
      • Znaczniki kodu i komentarze TODO
      • Magiczne komentarze i kodowanie plików źródłowych
    • Docstringi
    • Wskazówki typu
      • Korzystanie z narzędzi do statycznej analizy kodu
        • Instalowanie i uruchamianie programu Mypy
        • Wskazywanie kodu, który ma być ignorowany przez Mypy
      • Ustawianie wskazówek dla wielu typów
      • Ustawianie wskazówek typu dla list, słowników i nie tylko
    • Backport wskazówek typu z wykorzystaniem komentarzy
    • Podsumowanie
  • 12. Organizowanie projektów kodu z wykorzystaniem systemu Git
    • Commity i repozytoria systemu Git
    • Korzystanie z narzędzia Cookiecutter do tworzenia nowych projektów w Pythonie
    • Instalacja Gita
      • Konfigurowanie nazwy użytkownika Gita i adresu e-mail
      • Instalacja narzędzi GUI dla Gita
    • Przepływ pracy w systemie Git
      • W jaki sposób Git śledzi stan pliku?
      • Po co jest stan staged?
    • Tworzenie repozytorium Gita na komputerze lokalnym
      • Dodawanie plików do śledzenia przez Gita
      • Ignorowanie plików w repozytorium
      • Zatwierdzanie zmian
        • Używanie polecenia git diff do wyświetlania zmian przed zatwierdzeniem
        • Wykorzystanie narzędzia git difftool do wyświetlania zmian za pomocą aplikacji GUI
        • Jak często należy zatwierdzać zmiany?
      • Usuwanie plików z repozytorium
      • Zmiana nazwy i przenoszenie plików w repozytorium
    • Przeglądanie loga commitów
    • Przywracanie wcześniejszych zmian
      • Cofanie niezatwierdzonych lokalnych zmian
      • Anulowanie stanu staged pliku
      • Cofanie najnowszych commitów
      • Cofanie zmian do określonego commita dla pojedynczego pliku
      • Przepisywanie historii commitów
    • GitHub i polecenie git push
      • Przesyłanie istniejącego repozytorium do usługi GitHub
      • Klonowanie repozytorium z istniejącego repozytorium w serwisie GitHub
    • Podsumowanie
  • 13. Mierzenie wydajności algorytmów i analiza Big O
    • Moduł timeit
    • Profiler cProfile
    • Analiza algorytmów Big O
    • Rzędy w notacji Big O
      • Metafora regału dla rzędów notacji Big O
        • O(1), stały czas wykonywania
        • O(log n), logarytmiczny czas wykonywania
        • O(n), liniowy czas wykonywania
        • O(n log n), N-Log-N
        • O(n2), czas wielomianowy
        • O(2n), czas wykładniczy
        • O(n!), wzrost czasu w tempie n silnia
      • Notacja Big O mierzy najgorszy scenariusz
    • Określanie rzędu Big O kodu
      • Dlaczego niższe rzędy i współczynniki nie mają znaczenia?
      • Przykłady analizy Big O
      • Rzędy Big O popularnych wywołań
      • Analiza Big O w mgnieniu oka
      • Big O nie ma znaczenia dla małych n, czyli dla większości przypadków
    • Podsumowanie
  • 14. Praktyczne projekty
    • Wieża Hanoi
      • Wyjście
      • Kod źródłowy
      • Pisanie kodu
    • Cztery w rzędzie
      • Wyjście
      • Kod źródłowy
      • Pisanie kodu
    • Podsumowanie
  • Część III. Python obiektowy
  • 15. Klasy i programowanie obiektowe
    • Analogia do rzeczywistego świata: wypełnianie formularza
    • Tworzenie obiektów na podstawie klas
    • Tworzenie prostej klasy: WizCoin
      • Metody __init__() i self
      • Atrybuty
      • Atrybuty prywatne i metody prywatne
    • Funkcja type() i atrybut __qualname__
    • Przykłady kodu obiektowego i nieobiektowego: kółko i krzyżyk
    • Projektowanie klas dla rzeczywistych aplikacji jest trudne
    • Podsumowanie
  • 16. Programowanie obiektowe i dziedziczenie
    • Jak działa dziedziczenie
      • Przesłanianie metod
      • Funkcja super()
      • Staraj się stosować kompozycję zamiast dziedziczenia
      • Minusy dziedziczenia
    • Funkcje isinstance() i issubclass()
    • Metody klasy
    • Atrybuty klasy
    • Metody statyczne
    • Kiedy używać metod i atrybutów klasy oraz metod statycznych w programach obiektowych?
    • Terminologia obiektowa
      • Hermetyzacja
      • Polimorfizm
    • Kiedy nie używać dziedziczenia?
    • Dziedziczenie wielokrotne
    • Kolejność rozpoznawania metod
    • Podsumowanie
  • 17. Pythoniczny paradygmat OOP: właściwości i metody dunder
    • Właściwości
      • Przekształcanie atrybutu we właściwość
      • Używanie setterów do sprawdzania poprawności danych
      • Właściwości tylko do odczytu
      • Kiedy używać właściwości?
    • Metody dunder w Pythonie
      • Metody dunder reprezentacji tekstowych
      • Liczbowe metody dunder
      • Odbite numeryczne metody dunder
      • Metody dunder rozszerzonego przypisania w miejscu
      • Metody dunder porównań
    • Podsumowanie

Dodaj do koszyka Programowanie w Pythonie dla

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2026 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.