Python. Instrukcje dla programisty. Eric Matthes Pyskowice

Python ma wszechstronne zastosowania: nadaje się do tworzenia gier, aplikacji sieciowych, do wdrażania indywidualnych rozwiązań biznesowych, do różnych celów naukowych czy do rozmaitych innych praktycznych rozwiązań. Jest językiem umożliwiającym pisanie przejrzystego, zwięzłego kodu, który przy tym …

od 44,50 Najbliżej: 12 km

Liczba ofert: 1

Oferta sklepu

Opis

Python ma wszechstronne zastosowania: nadaje się do tworzenia gier, aplikacji sieciowych, do wdrażania indywidualnych rozwiązań biznesowych, do różnych celów naukowych czy do rozmaitych innych praktycznych rozwiązań. Jest językiem umożliwiającym pisanie przejrzystego, zwięzłego kodu, który przy tym jest łatwy w konserwacji i pozwala na sprawne rozwijanie oprogramowania. Jeśli chcesz zacząć szybko pisać funkcjonujący, efektywny kod i tworzyć działające aplikacje, to Python jest świetnym wyborem. Niniejsza książka jest zwięzłym, praktycznym podręcznikiem programowania w Pythonie, dzięki któremu gruntownie opanujesz podstawy języka i nabierzesz dobrych nawyków w programowaniu. Szybko będziesz mógł skoncentrować się na praktycznej stronie realizacji projektów, a nowo poznane koncepcje wypróbujesz przez rozwiązywanie konkretnych problemów. W taki sposób przygotujesz się do nauki zaawansowanych technik Pythona. Najważniejsze zagadnienia omówione w książce: podstawowe koncepcje programowania praktyczne sposoby obsługi błędów i testowania kodu biblioteki i narzędzia Pythona, takie jak matplotlib, NumPy i Pygal praca z danymi i generowanie interaktywnych wizualizacji tworzenie praktycznych aplikacji od podstaw i ich wdrażanie na serwerach WWW możliwe problemy i sposoby ich rozwiązywania Przekonaj się, jak szybko zaczniesz tworzyć świetne aplikacje w Pythonie! Spis treści: O autorze O korektorze merytorycznym Podziękowania Wprowadzenie Do kogo jest skierowana ta książka? Czego nauczysz się z tej książki? Dlaczego Python? Część I Podstawy Rozdział 1. Rozpoczęcie pracy Przygotowanie środowiska programistycznego Python 2 i Python 3 Wykonanie fragmentu kodu w Pythonie Witaj, świecie! Python w różnych systemach operacyjnych Python w systemach z rodziny Linux Sprawdzenie zainstalowanej wersji Pythona Instalacja edytora tekstu Uruchomienie programu typu Witaj, świecie! Wykonanie kodu Pythona w powłoce Python w systemie OS X Sprawdzenie zainstalowanej wersji Pythona Użycie Pythona w sesji powłoki Instalacja edytora tekstu Konfiguracja Sublime Text dla Pythona 3 Uruchomienie programu typu Witaj, świecie! Python w systemie Windows Instalacja Pythona Uruchomienie Pythona w sesji wiersza polecenia Użycie Pythona w sesji wiersza polecenia Instalacja edytora tekstu Konfiguracja edytora Geany Uruchomienie programu typu Witaj, świecie! Rozwiązywanie problemów podczas instalacji Uruchamianie programów Pythona z poziomu powłoki W systemach Linux i OS X W systemie Windows Podsumowanie Rozdział 2. Zmienne i proste typy danych Co tak naprawdę dzieje się po uruchomieniu hello_world.py? Zmienne Nadawanie nazw zmiennym i używanie zmiennych Unikanie błędów związanych z nazwami podczas używania zmiennych Ciągi tekstowe Zmiana wielkości liter ciągu tekstowego za pomocą metod Łączenie ciągów tekstowych Dodawanie białych znaków do ciągów tekstowych za pomocą tabulatora i znaku nowego wiersza Usunięcie białych znaków Unikanie błędów składni w ciągach tekstowych Wyświetlanie danych w Pythonie 2.x Liczby Liczby całkowite Liczby zmiennoprzecinkowe Unikanie błędów typu podczas pracy z funkcją str() Liczby całkowite w Pythonie 2 Komentarze Jak można utworzyć komentarz? Jakiego rodzaju komentarze należy tworzyć? Zen Pythona Podsumowanie Rozdział 3. Wprowadzenie do list Czym jest lista? Uzyskanie dostępu do elementów listy Numeracja indeksu zaczyna się od 0, a nie od 1 Użycie poszczególnych wartości listy Zmienianie, dodawanie i usuwanie elementów Modyfikowanie elementów na liście Dodawanie elementów do listy Umieszczanie elementu na końcu listy Wstawianie elementów na listę Usuwanie elementu z listy Usunięcie elementu listy za pomocą polecenia del Usunięcie elementu za pomocą metody pop() Usunięcie elementu z dowolnego miejsca na liście Usunięcie elementu na podstawie wartości Organizacja listy Trwałe sortowanie listy za pomocą metody sort() Tymczasowe sortowanie listy za pomocą funkcji sorted() Wyświetlanie listy w odwrotnej kolejności alfabetycznej Określenie wielkości listy Unikanie błędów indeksu podczas pracy z listą Podsumowanie Rozdział 4. Praca z listą Iteracja przez całą listę Dokładniejsza analiza pętli Wykonanie większej liczby zadań w pętli for Wykonywanie operacji po pętli for Unikanie błędów związanych z wcięciami Brak wcięcia Brak wcięcia dodatkowych wierszy Niepotrzebne wcięcie Niepotrzebne wcięcie po pętli Brak dwukropka Tworzenie list liczbowych Użycie funkcji range() Użycie funkcji range() do utworzenia listy liczb Proste dane statystyczne dotyczące listy liczb Lista składana Praca z fragmentami listy Wycinek listy Iteracja przez wycinek Kopiowanie listy Krotka Definiowanie krotki Iteracja przez wszystkie wartości krotki Nadpisanie krotki Styl tworzonego kodu Konwencje stylu Wcięcia Długość wiersza Puste wiersze Inne specyfikacje stylu Podsumowanie Rozdział 5. Konstrukcja if Prosty przykład Test warunkowy Sprawdzenie równości Ignorowanie wielkości liter podczas sprawdzania równości Sprawdzenie nierówności Porównania liczbowe Sprawdzanie wielu warunków Użycie słowa kluczowego and do sprawdzania wielu warunków Użycie słowa kluczowego or do sprawdzania wielu warunków Sprawdzanie, czy wartość znajduje się na liście Sprawdzanie, czy wartość nie znajduje się na liście Wyrażenie boolowskie Polecenie if Proste polecenia if Polecenia if-else Łańcuch if-elif-else Użycie wielu bloków elif Pominięcie bloku else Sprawdzanie wielu warunków Używanie poleceń if z listami Sprawdzanie pod kątem wartości specjalnych Sprawdzanie, czy lista nie jest pusta Użycie wielu list Nadawanie stylu poleceniom if Podsumowanie Rozdział 6. Słowniki Prosty słownik Praca ze słownikami Uzyskiwanie dostępu do wartości słownika Dodanie nowej pary klucz-wartość Rozpoczęcie pracy od pustego słownika Modyfikowanie wartości słownika Usuwanie pary klucz-wartość Słownik podobnych obiektów Iteracja przez słownik Iteracja przez wszystkie pary klucz-wartość Iteracja przez wszystkie klucze słownika Iteracja przez uporządkowane klucze słownika Iteracja przez wszystkie wartości słownika Zagnieżdżanie Lista słowników Lista w słowniku Słownik w słowniku Podsumowanie Rozdział 7. Dane wejściowe użytkownika i pętla while Jak działa funkcja input()? Przygotowanie jasnych i zrozumiałych komunikatów Użycie funkcji int() do akceptowania liczbowych danych wejściowych Operator modulo Akceptacja danych wejściowych w Pythonie 2.7 Wprowadzenie do pętli while Pętla while w działaniu Umożliwienie użytkownikowi podjęcia decyzji o zakończeniu działania programu Użycie flagi Użycie polecenia break do opuszczenia pętli Użycie polecenia continue w pętli Unikanie pętli działającej w nieskończoność Użycie pętli while wraz z listami i słownikami Przenoszenie elementów z jednej listy na drugą Usuwanie z listy wszystkich egzemplarzy określonej wartości Umieszczenie w słowniku danych wejściowych wprowadzonych przez użytkownika Podsumowanie Rozdział 8. Funkcje Definiowanie funkcji Przekazywanie informacji do funkcji Argumenty i parametry Przekazywanie argumentów Argumenty pozycyjne Wiele wywołań funkcji W przypadku argumentów pozycyjnych kolejność ma znaczenie Argumenty w postaci słów kluczowych Wartości domyślne Odpowiedniki wywołań funkcji Unikanie błędów związanych z argumentami Wartość zwrotna Zwrot prostej wartości Definiowanie argumentu jako opcjonalnego Zwrot słownika Używanie funkcji wraz z pętlą while Przekazywanie listy Modyfikowanie listy w funkcji Uniemożliwianie modyfikowania listy przez funkcję Przekazywanie dowolnej liczby argumentów Argumenty pozycyjne i przekazywanie dowolnej liczby argumentów Używanie dowolnej liczby argumentów w postaci słów kluczowych Przechowywanie funkcji w modułach Import całego modułu Import określonych funkcji Użycie słowa kluczowego as w celu zdefiniowania aliasu funkcji Użycie słowa kluczowego as w celu zdefiniowania aliasu modułu Import wszystkich funkcji modułu Nadawanie stylu funkcjom Podsumowanie Rozdział 9. Klasy Utworzenie i użycie klasy Utworzenie klasy Dog Metoda __init__() Utworzenie klasy w Pythonie 2.7 Utworzenie egzemplarza na podstawie klasy Uzyskanie dostępu do atrybutów Wywoływanie metod Utworzenie wielu egzemplarzy Praca z klasami i egzemplarzami Klasa Car Przypisanie atrybutowi wartości domyślnej Modyfikacja wartości atrybutu Bezpośrednia modyfikacja wartości atrybutu Modyfikacja wartości atrybutu za pomocą metody Inkrementacja wartości atrybutu za pomocą metody Dziedziczenie Metoda __init__() w klasie potomnej Dziedziczenie w Pythonie 2.7 Definiowanie atrybutów i metod dla klasy potomnej Nadpisywanie metod klasy nadrzędnej Egzemplarz jako atrybut Modelowanie rzeczywistych obiektów Import klas Import pojedynczej klasy Przechowywanie wielu klas w module Import wielu klas z modułu Import całego modułu Import wszystkich klas z modułu Import modułu w module Określenie swojego sposobu pracy Biblioteka standardowa Pythona Nadawanie stylu klasom Podsumowanie Rozdział 10. Pliki i wyjątki Odczytywanie danych z pliku Wczytywanie całego pliku Ścieżka dostępu do pliku Odczytywanie wiersz po wierszu Utworzenie listy wierszy na podstawie zawartości pliku Praca z zawartością pliku Ogromne pliki, czyli na przykład milion cyfr Czy data Twoich urodzin znajduje się w liczbie pi? Zapisywanie danych w pliku Zapisywanie danych do pustego pliku Zapisywanie wielu wierszy Dołączanie do pliku Wyjątki Obsługiwanie wyjątku ZeroDivisionError Używanie bloku try-except Używanie wyjątków w celu uniknięcia awarii programu Blok else Obsługa wyjątku FileNotFoundError Analiza tekstu Praca z wieloma plikami Ciche niepowodzenie Które błędy należy zgłaszać? Przechowywanie danych Używanie json.dump() i json.load() Zapisywanie i odczytywanie danych wygenerowanych przez użytkownika Refaktoryzacja Podsumowanie Rozdział 11. Testowanie kodu Testowanie funkcji Test jednostkowy i zestaw testów Zaliczenie testu Niezaliczenie testu Reakcja na niezaliczony test Dodanie nowego testu Testowanie klasy Różne rodzaje metod asercji Klasa do przetestowania Testowanie klasy AnonymousSurvey Metoda setUp() Podsumowanie Część II Projekty Inwazja obcych, czyli utworzenie gry w Pythonie Wizualizacja danych Aplikacje sieciowe Projekt 1 Inwazja obcych Rozdział 12. Statek, który strzela pociskami Planowanie projektu Instalacja Pygame Instalacja pakietów Pythona za pomocą pip Sprawdzenie menedżera pip w systemach Linux i OS X Sprawdzenie menedżera pip w systemie Windows Instalacja menedżera pip Instalacja menedżera pip w systemach Linux i OS X Instalacja menedżera pip w systemie Windows Instalacja Pygame w systemie Linux Instalacja Pygame w systemie OS X Instalacja Pygame w systemie Windows Rozpoczęcie pracy nad projektem gry Utworzenie okna Pygame i reagowanie na działania użytkownika Zdefiniowanie koloru tła Utworzenie klasy ustawień Dodanie obrazu statku kosmicznego Utworzenie klasy statku kosmicznego Wyświetlenie statku kosmicznego na ekranie Refaktoryzacja, czyli moduł game_functions Funkcja check_events() Funkcja update_screen() Kierowanie statkiem kosmicznym Reakcja na naciśnięcie klawisza Umożliwienie nieustannego ruchu Poruszanie statkiem w obu kierunkach Dostosowanie szybkości statku Ograniczenie zasięgu poruszania się statku Refaktoryzacja funkcji check_events() Krótkie powtórzenie alien_invasion.py settings.py game_functions.py ship.py Wystrzeliwanie pocisków Dodawanie ustawień dotyczących pocisków Utworzenie klasy Bullet Przechowywanie pocisków w grupie Wystrzeliwanie pocisków Usuwanie niewidocznych pocisków Ograniczenie liczby pocisków Utworzenie funkcji update_bullets() Utworzenie funkcji fire_bullet() Podsumowanie Rozdział 13. Obcy! Przegląd projektu Utworzenie pierwszego obcego Utworzenie klasy Alien Utworzenie egzemplarza obcego Wyświetlenie obcego na ekranie Utworzenie floty obcych Ustalenie maksymalnej liczby obcych wyświetlanych w jednym rzędzie Utworzenie rzędów obcych Utworzenie floty Refaktoryzacja funkcji create_fleet() Dodawanie rzędów Poruszanie flotą obcych Przesunięcie obcych w prawo Zdefiniowanie ustawień dla kierunku poruszania się floty Sprawdzenie, czy obcy dotarł do krawędzi ekranu Przesunięcie floty w dół i zmiana kierunku Zestrzeliwanie obcych Wykrywanie kolizji z pociskiem Utworzenie większych pocisków w celach testowych Ponowne utworzenie floty Zwiększenie szybkości pocisku Refaktoryzacja funkcji update_bullets() Zakończenie gry Wykrywanie kolizji między obcym i statkiem Reakcja na kolizję między obcym i statkiem Obcy, który dociera do dolnej krawędzi ekranu Koniec gry! Ustalenie, które komponenty gry powinny być uruchomione Podsumowanie Rozdział 14. Punktacja Dodanie przycisku Gra Utworzenie klasy Button Wyświetlenie przycisku na ekranie Uruchomienie gry Zerowanie gry Dezaktywacja przycisku Gra Ukrycie kursora myszy Zmiana poziomu trudności Zmiana ustawień dotyczących szybkości Wyzerowanie szybkości Punktacja Wyświetlanie punktacji Utworzenie tablicy wyników Uaktualnienie punktacji po zestrzeleniu obcego Zagwarantowanie uwzględnienia wszystkich trafień Zwiększenie liczby zdobywanych punktów Zaokrąglanie punktacji Najlepsze wyniki Wyświetlenie aktualnego poziomu gry Wyświetlenie liczby statków Podsumowanie Projekt 2 Wizualizacja danych Rozdział 15. Generowanie danych Instalacja matplotlib Linux OS X Windows Testowanie matplotlib Galeria matplotlib Wygenerowanie prostego wykresu liniowego Zmienianie etykiety i grubości wykresu Poprawianie wykresu Używanie funkcji scatter() do wyświetlania poszczególnych punktów i nadawania im stylu Wyświetlanie serii punktów za pomocą funkcji scatter() Automatyczne obliczanie danych Usuwanie konturów z wyświetlanych punktów danych Definiowanie własnych kolorów Użycie mapy kolorów Automatyczny zapis wykresu Błądzenie losowe Utworzenie klasy RandomWalk Wybór kierunku Wyświetlenie wykresu błądzenia losowego Wygenerowanie wielu błądzeń losowych Nadawanie stylu danym wygenerowanym przez błądzenie losowe Kolorowanie punktów Kolorowanie punktów początkowego i końcowego Ukrywanie osi Dodawanie punktów do wykresu Zmienianie wielkości wykresu, aby wypełnił ekran Symulacja rzutu kością do gry za pomocą Pygal Instalacja Pygal Galeria Pygal Utworzenie klasy Die Rzut kością do gry Analiza wyników Utworzenie histogramu Rzut dwiema kośćmi Rzut kośćmi o różnej liczbie ścianek Podsumowanie Rozdział 16. Pobieranie danych Format CSV Przetwarzanie nagłówków pliku CSV Wyświetlanie nagłówków i ich położenia Wyodrębnienie i odczytanie danych Wyświetlenie danych na wykresie temperatury Moduł datetime Wyświetlanie daty Wyświetlenie dłuższego przedziału czasu Wyświetlenie drugiej serii danych Nakładanie cienia na wykresie Sprawdzenie pod kątem błędów Mapowanie globalnych zbiorów danych format JSON Pobranie danych dotyczących populacji świata Wyodrębnienie interesujących nas danych Konwersja ciągu tekstowego na wartość liczbową Pobranie dwuznakowego kodu państwa Budowanie mapy świata Wyświetlenie danych liczbowych na mapie świata Wyświetlenie pełnej mapy populacji Grupowanie państw według populacji Nadawanie stylu mapie świata w Pygal Rozjaśnienie motywu graficznego Podsumowanie Rozdział 17. Praca z API Użycie Web API Git i GitHub Żądanie danych za pomocą wywołania API Instalacja requests Przetworzenie odpowiedzi API Praca ze słownikiem odpowiedzi Podsumowanie repozytoriów najczęściej oznaczanych gwiazdką Monitorowanie ograniczeń liczby wywołań API Wizualizacja repozytoriów za pomocą pakietu Pygal Dopracowanie wykresów generowanych przez Pygal Dodanie własnych podpowiedzi Wyświetlanie danych Dodawanie łączy do wykresu Hacker News API Podsumowanie Projekt 3 Aplikacje sieciowe Rozdział 18. Rozpoczęcie pracy z Django Przygotowanie projektu Opracowanie specyfikacji Utworzenie środowiska wirtualnego Instalacja virtualenv Aktywacja środowiska wirtualnego Instalacja frameworka Django Utworzenie projektu w Django Utworzenie bazy danych Przegląd projektu Uruchomienie aplikacji Definiowanie modeli Aktywacja modeli Witryna administracyjna Django Konfiguracja superużytkownika Rejestracja modelu w witrynie administracyjnej Dodanie tematu Zdefiniowanie modelu Entry Migracja modelu Entry Rejestracja modelu Entry w witrynie administracyjnej Powłoka Django Tworzenie stron internetowych strona główna aplikacji Mapowanie adresu URL Utworzenie widoku Utworzenie szablonu Utworzenie dodatkowych stron Dziedziczenie szablonu Szablon nadrzędny Szablon potomny Strona tematów Wzorzec URL dla strony tematów Widok tematów Szablon tematów Strony poszczególnych tematów Wzorzec adresu URL dla tematu Widok tematu Szablon tematu Łącza ze strony tematów Podsumowanie Rozdział 19. Konta użytkowników Umożliwienie użytkownikom wprowadzania danych Dodawanie nowego tematu Formularz modelu dla tematu Adres URL dla strony new_topic Funkcja widoku new_topic() Żądania GET i POST Szablon dla strony new_topic Dodanie łącza prowadzącego na stronę new_topic Dodawanie nowych wpisów Formularz modelu dla wpisu Adres URL dla strony new_entry Funkcja widoku new_entry() Szablon dla strony new_entry Dodanie łącza prowadzącego na stronę new_entry Edycja wpisu Adres URL dla strony edit_entry Funkcja widoku edit_entry() Szablon dla strony edit_entry Dodanie łącza prowadzącego na stronę edit_entry Konfiguracja kont użytkowników Aplikacja users Dodanie aplikacji users do pliku settings.py Dołączanie adresów URL z aplikacji users Strona logowania Szablon dla strony logowania Dodanie łącza prowadzącego na stronę logowania Użycie strony logowania Wylogowanie Adres URL dla strony wylogowania Funkcja widoku logout_view() Dodanie łącza umożliwiającego wylogowanie Strona rejestracji użytkownika Adres URL dla strony rejestracji użytkownika Funkcja widoku register() Szablon dla strony rejestracji użytkownika Dodanie łącza prowadzącego na stronę rejestracji użytkownika Umożliwienie użytkownikom bycia właścicielami swoich danych Ograniczenie dostępu za pomocą dekoratora @login_required Ograniczenie dostępu do strony tematów Ograniczenie dostępu w aplikacji Learning Log Powiązanie danych z określonymi użytkownikami Modyfikacja modelu Topic Identyfikacja istniejących użytkowników Migracja bazy danych Przyznanie dostępu jedynie odpowiednim użytkownikom Ochrona tematów użytkownika Ochrona strony edit_entry Powiązanie nowego tematu z bieżącym użytkownikiem Podsumowanie Rozdział 20. Nadanie stylu i wdrożenie aplikacji Nadanie stylu aplikacji Learning Log Aplikacja django-bootstrap3 Użycie Bootstrapa do nadania stylu aplikacji Learning Log Modyfikacja pliku base.html Zdefiniowanie nagłówków HTML Zdefiniowanie paska nawigacji Zdefiniowanie części głównej strony Użycie elementu Jumbotron do nadania stylu stronie głównej Nadanie stylu stronie logowania Nadanie stylu stronie new_topic Nadanie stylu stronie tematów Nadanie stylów wpisom na stronie tematu Wdrożenie aplikacji Learning Log Utworzenie konta w Heroku Instalacja Heroku Toolbelt Instalacja wymaganych pakietów Utworzenie listy pakietów w pliku requirements.txt Określenie środowiska uruchomieniowego Pythona Modyfikacja pliku settings.py dla Heroku Utworzenie pliku Procfie do uruchomienia procesu Modyfikacja pliku wsgi.py dla Heroku Utworzenie katalogu dla plików statycznych Użycie serwera gunicorn w środowisku lokalnym Użycie Gita do monitorowania plików projektu Instalacja Git Konfiguracja Git Ignorowanie plików Zatwierdzenie projektu Przekazanie projektu do Heroku Konfiguracja bazy danych w Heroku Dopracowanie wdrożenia projektu w Heroku Utworzenie superużytkownika w Heroku Utworzenie przyjaznego dla użytkownika adresu URL aplikacji w Heroku Zabezpieczenie wdrożonego projektu Zatwierdzenie zmian i przekazanie ich do serwera Utworzenie własnych stron błędu Utworzenie własnych szablonów Lokalne wyświetlanie stron błędów Przekazywanie zmian do Heroku Użycie metody get_object_or_404() Nieustanna rozbudowa Opcja SECRET_KEY Usunięcie projektu z Heroku Podsumowanie Posłowie Dodatek A Instalacja Pythona Python w systemie Linux Ustalenie zainstalowanej wersji Instalacja Pythona 3 w systemie Linux Python w systemie OS X Ustalenie zainstalowanej wersji Użycie menedżera Homebrew do instalacji Pythona 3 Instalacja Homebrew Instalacja Pythona 3 Python w Windows Instalacja Pythona 3 w Windows Odszukanie interpretera Pythona Dodanie Pythona do zmiennej Path Słowa kluczowe Pythona i wbudowane funkcje Słowa kluczowe Pythona Wbudowane funkcje Pythona Dodatek B Edytory tekstu Geany Instalacja Geany w systemie Linux Instalacja Geany w systemie Windows Uruchamianie programów Python w Geany Dostosowanie ustawień Geany do własnych potrzeb Konwertowanie tabulatorów na spacje Ustawianie wskaźnika długości linii Wcięcia i brak wcięć bloków kodu Umieszczenie bloku kodu w komentarzu Sublime Text Instalacja Sublime Text w systemie OS X Instalacja Sublime Text w systemie Linux Instalacja Sublime Text w systemie Windows Uruchamianie programów Python w edytorze Sublime Text Konfigurowanie edytora Sublime Text Dostosowanie ustawień Sublime Text do własnych potrzeb Konwersja tabulatorów na spacje Ustawianie wskaźnika długości linii Wcięcia i brak wcięć bloków kodu Umieszczenie bloku kodu w komentarzu IDLE Instalacja IDLE w systemie Linux Instalacja IDLE w systemie OS X Instalacja IDLE w systemie Windows Dostosowanie ustawień IDLE do własnych potrzeb Wcięcia i brak wcięć bloków kodu Umieszczenie bloku kodu w komentarzu Emacs i vim Dodatek C Uzyskiwanie pomocy Pierwsze kroki Spróbuj jeszcze raz Chwila odpoczynku Korzystaj z zasobów tej książki Wyszukiwanie informacji w internecie Stack Overflow Oficjalna dokumentacja Pythona Oficjalna dokumentacja biblioteki r/learnpython Posty na blogach Kanały IRC Założenie konta na kanale IRC Kanały, do których warto się przyłączyć Kultura na kanale IRC Dodatek D Używanie Gita do kontroli wersji Instalacja Gita Instalacja Gita w systemie Linux Instalacja Gita w systemie OS X Instalacja Gita w systemie Windows Konfiguracja Gita Tworzenie projektu Ignorowanie plików Inicjalizacja repozytorium Sprawdzanie stanu Dodawanie plików do repozytorium Zatwierdzanie plików Sprawdzanie dziennika projektu Drugie zatwierdzenie Przywracanie stanu projektu Przywrócenie projektu do wcześniejszego stanu Usunięcie repozytorium O autorze: Eric Matthes - jest nauczycielem, hakerem i autorem książek. Uczy informatyki, fizyki i matematyki w szkole średniej. Od kilku lat prowadzi kursy dla początkujących programistów Pythona. Swój pierwszy program komputerowy — prostą, poprawnie funkcjonującą grę — napisał w wieku pięciu lat i od tej pory nieprzerwanie pasjonuje się tworzeniem kodu. Mieszka na Alasce wraz z żoną i synem.

Specyfikacja

Podstawowe informacje

Autor
  • Eric Matthes
Rok wydania
  • 2016
Format
  • PDF
  • MOBI
  • EPUB
Ilość stron
  • 640
Kategorie
  • Programowanie
Wybrane wydawnictwa
  • Helion