Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00725 011214 7458078 na godz. na dobę w sumie
Python. Instrukcje dla programisty - ebook/pdf
Python. Instrukcje dla programisty - ebook/pdf
Autor: Liczba stron: 640
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-2596-8 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> python - programowanie
Porównaj ceny (książka, ebook (-20%), audiobook).
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:

Przekonaj się, jak szybko zaczniesz tworzyć świetne aplikacje w Pythonie!


Eric Matthes uczy 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 5 lat. Mieszka na Alasce wraz z żoną i synem.
Znajdź podobne książki

Darmowy fragment publikacji:

Tytuł oryginału: Python Crash Course: A Hands-On, Project-Based Introduction to Programming Tłumaczenie: Robert Górczyński ISBN: 978-83-283-2595-1 Copyright © 2016 by Eric Matthes. Title of English-language original: Python Crash Course, ISBN 978-1-59327-603-4, published by No Starch Press. Polish-language edition copyright © 2016 by Helion S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/pythip.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/pythip Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis treści O AUTORZE ............................................................................................. 21 O KOREKTORZE MERYTORYCZNYM ....................................................... 21 PODZIĘKOWANIA ................................................................................... 23 WPROWADZENIE ..................................................................................... 25 Do kogo jest skierowana ta książka? ................................................................................................26 Czego nauczysz się z tej książki? ......................................................................................................26 Dlaczego Python? .............................................................................................................................27 CZĘŚĆ I. PODSTAWY 29 1 ROZPOCZĘCIE PRACY ............................................................................. 31 Przygotowanie środowiska programistycznego .....................................................................31 Python 2 i Python 3 ............................................................................................................31 Wykonanie fragmentu kodu w Pythonie ............................................................................32 Witaj, świecie! ....................................................................................................................32 Python w różnych systemach operacyjnych ...........................................................................33 Python w systemach z rodziny Linux .................................................................................33 Python w systemie OS X ...................................................................................................37 Python w systemie Windows .............................................................................................40 Rozwiązywanie problemów podczas instalacji .......................................................................44 Uruchamianie programów Pythona z poziomu powłoki .......................................................45 W systemach Linux i OS X .................................................................................................45 W systemie Windows .........................................................................................................46 Podsumowanie .......................................................................................................................47 Poleć książkęKup książkę 2 ZMIENNE I PROSTE TYPY DANYCH ........................................................ 49 Co tak naprawdę dzieje się po uruchomieniu hello_world.py? ............................................. 49 Zmienne ................................................................................................................................ 50 Nadawanie nazw zmiennym i używanie zmiennych .......................................................... 51 Unikanie błędów związanych z nazwami podczas używania zmiennych ........................... 52 Ciągi tekstowe ....................................................................................................................... 54 Zmiana wielkości liter ciągu tekstowego za pomocą metod ............................................. 54 Łączenie ciągów tekstowych ............................................................................................. 55 Dodawanie białych znaków do ciągów tekstowych za pomocą tabulatora i znaku nowego wiersza .................................................................................................. 57 Usunięcie białych znaków ................................................................................................. 57 Unikanie błędów składni w ciągach tekstowych ............................................................... 59 Wyświetlanie danych w Pythonie 2.x ................................................................................ 60 Liczby ..................................................................................................................................... 61 Liczby całkowite ................................................................................................................ 61 Liczby zmiennoprzecinkowe ............................................................................................. 62 Unikanie błędów typu podczas pracy z funkcją str() ......................................................... 63 Liczby całkowite w Pythonie 2 .......................................................................................... 64 Komentarze ........................................................................................................................... 65 Jak można utworzyć komentarz? ....................................................................................... 65 Jakiego rodzaju komentarze należy tworzyć? .................................................................... 66 Zen Pythona .......................................................................................................................... 66 Podsumowanie ................................................................................................................................. 68 3 WPROWADZENIE DO LIST ....................................................................... 71 Czym jest lista? ...................................................................................................................... 71 Uzyskanie dostępu do elementów listy ............................................................................. 72 Numeracja indeksu zaczyna się od 0, a nie od 1 ............................................................... 73 Użycie poszczególnych wartości listy ................................................................................ 73 Zmienianie, dodawanie i usuwanie elementów ..................................................................... 74 Modyfikowanie elementów na liście .................................................................................. 75 Dodawanie elementów do listy ......................................................................................... 75 Usuwanie elementu z listy ................................................................................................. 77 Organizacja listy ..................................................................................................................... 82 Trwałe sortowanie listy za pomocą metody sort() ........................................................... 82 Wyświetlanie listy w odwrotnej kolejności alfabetycznej .................................................. 84 Określenie wielkości listy .................................................................................................. 84 Unikanie błędów indeksu podczas pracy z listą ..................................................................... 86 Podsumowanie ...................................................................................................................... 87 6 S p i s t r e ś c i Poleć książkęKup książkę 4 PRACA Z LISTĄ ....................................................................................... 89 Iteracja przez całą listę ...........................................................................................................89 Dokładniejsza analiza pętli .................................................................................................90 Wykonanie większej liczby zadań w pętli for .....................................................................91 Wykonywanie operacji po pętli for ....................................................................................93 Unikanie błędów związanych z wcięciami .............................................................................94 Brak wcięcia .......................................................................................................................94 Brak wcięcia dodatkowych wierszy ...................................................................................95 Niepotrzebne wcięcie ........................................................................................................95 Niepotrzebne wcięcie po pętli ...........................................................................................96 Brak dwukropka .................................................................................................................97 Tworzenie list liczbowych ......................................................................................................97 Użycie funkcji range() .........................................................................................................97 Użycie funkcji range() do utworzenia listy liczb .................................................................99 Proste dane statystyczne dotyczące listy liczb .................................................................101 Lista składana ...................................................................................................................101 Praca z fragmentami listy .....................................................................................................103 Wycinek listy ....................................................................................................................103 Iteracja przez wycinek .....................................................................................................104 Kopiowanie listy ...............................................................................................................105 Krotka ..................................................................................................................................108 Definiowanie krotki ..........................................................................................................108 Iteracja przez wszystkie wartości krotki ..........................................................................109 Nadpisanie krotki .............................................................................................................110 Styl tworzonego kodu ..........................................................................................................111 Konwencje stylu ...............................................................................................................111 Wcięcia .............................................................................................................................112 Długość wiersza ...............................................................................................................112 Puste wiersze ...................................................................................................................113 Inne specyfikacje stylu ......................................................................................................113 Podsumowanie .....................................................................................................................114 5 KONSTRUKCJA IF .................................................................................. 115 Prosty przykład ....................................................................................................................115 Test warunkowy ..................................................................................................................116 Sprawdzenie równości .....................................................................................................116 Ignorowanie wielkości liter podczas sprawdzania równości ............................................117 Sprawdzenie nierówności ................................................................................................118 Porównania liczbowe .......................................................................................................119 Sprawdzanie wielu warunków .........................................................................................120 Sprawdzanie, czy wartość znajduje się na liście ...............................................................121 Sprawdzanie, czy wartość nie znajduje się na liście .........................................................122 Wyrażenie boolowskie .....................................................................................................122 S p i s t r e ś c i 7 Poleć książkęKup książkę Polecenie if .......................................................................................................................... 123 Proste polecenia if ........................................................................................................... 123 Polecenia if-else ............................................................................................................... 125 Łańcuch if-elif-else ........................................................................................................... 125 Użycie wielu bloków elif ................................................................................................. 127 Pominięcie bloku else ...................................................................................................... 128 Sprawdzanie wielu warunków ......................................................................................... 128 Używanie poleceń if z listami .............................................................................................. 132 Sprawdzanie pod kątem wartości specjalnych ................................................................ 132 Sprawdzanie, czy lista nie jest pusta ................................................................................ 133 Użycie wielu list ............................................................................................................... 134 Nadawanie stylu poleceniom if ............................................................................................ 136 Podsumowanie .................................................................................................................... 137 6 SŁOWNIKI .............................................................................................. 139 Prosty słownik ..................................................................................................................... 140 Praca ze słownikami ............................................................................................................ 140 Uzyskiwanie dostępu do wartości słownika .................................................................... 141 Dodanie nowej pary klucz-wartość ................................................................................. 142 Rozpoczęcie pracy od pustego słownika ......................................................................... 143 Modyfikowanie wartości słownika .................................................................................. 143 Usuwanie pary klucz-wartość ......................................................................................... 145 Słownik podobnych obiektów ......................................................................................... 145 Iteracja przez słownik .......................................................................................................... 148 Iteracja przez wszystkie pary klucz-wartość ................................................................... 148 Iteracja przez wszystkie klucze słownika ........................................................................ 150 Iteracja przez uporządkowane klucze słownika .............................................................. 152 Iteracja przez wszystkie wartości słownika ..................................................................... 153 Zagnieżdżanie ...................................................................................................................... 154 Lista słowników ............................................................................................................... 155 Lista w słowniku .............................................................................................................. 158 Słownik w słowniku ......................................................................................................... 161 Podsumowanie .................................................................................................................... 163 7 DANE WEJŚCIOWE UŻYTKOWNIKA I PĘTLA WHILE .............................. 165 Jak działa funkcja input()? ..................................................................................................... 166 Przygotowanie jasnych i zrozumiałych komunikatów ..................................................... 167 Użycie funkcji int() do akceptowania liczbowych danych wejściowych .......................... 168 Operator modulo ............................................................................................................ 169 Akceptacja danych wejściowych w Pythonie 2.7 ............................................................. 170 Wprowadzenie do pętli while ............................................................................................. 171 Pętla while w działaniu .................................................................................................... 171 Umożliwienie użytkownikowi podjęcia decyzji o zakończeniu działania programu ........ 172 8 S p i s t r e ś c i Poleć książkęKup książkę Użycie flagi .......................................................................................................................174 Użycie polecenia break do opuszczenia pętli ...................................................................175 Użycie polecenia continue w pętli ...................................................................................176 Unikanie pętli działającej w nieskończoność ....................................................................177 Użycie pętli while wraz z listami i słownikami .....................................................................179 Przenoszenie elementów z jednej listy na drugą .............................................................179 Usuwanie z listy wszystkich egzemplarzy określonej wartości ........................................180 Umieszczenie w słowniku danych wejściowych wprowadzonych przez użytkownika ...181 Podsumowanie .....................................................................................................................183 8 FUNKCJE ................................................................................................ 185 Definiowanie funkcji .............................................................................................................185 Przekazywanie informacji do funkcji ................................................................................186 Argumenty i parametry ....................................................................................................187 Przekazywanie argumentów ................................................................................................188 Argumenty pozycyjne ......................................................................................................188 Argumenty w postaci słów kluczowych ...........................................................................190 Wartości domyślne ...........................................................................................................191 Odpowiedniki wywołań funkcji ........................................................................................192 Unikanie błędów związanych z argumentami ..................................................................193 Wartość zwrotna .................................................................................................................195 Zwrot prostej wartości ....................................................................................................195 Definiowanie argumentu jako opcjonalnego ....................................................................196 Zwrot słownika ................................................................................................................198 Używanie funkcji wraz z pętlą while ................................................................................199 Przekazywanie listy ..............................................................................................................200 Modyfikowanie listy w funkcji ..........................................................................................202 Uniemożliwianie modyfikowania listy przez funkcję ........................................................205 Przekazywanie dowolnej liczby argumentów ......................................................................205 Argumenty pozycyjne i przekazywanie dowolnej liczby argumentów .............................207 Używanie dowolnej liczby argumentów w postaci słów kluczowych ..............................208 Przechowywanie funkcji w modułach ..................................................................................209 Import całego modułu ......................................................................................................210 Import określonych funkcji ..............................................................................................212 Użycie słowa kluczowego as w celu zdefiniowania aliasu funkcji .....................................212 Użycie słowa kluczowego as w celu zdefiniowania aliasu modułu ...................................213 Import wszystkich funkcji modułu ...................................................................................213 Nadawanie stylu funkcjom ...................................................................................................214 Podsumowanie .....................................................................................................................216 9 KLASY .................................................................................................... 217 Utworzenie i użycie klasy .....................................................................................................218 Utworzenie klasy Dog .....................................................................................................218 Utworzenie egzemplarza na podstawie klasy ..................................................................220 S p i s t r e ś c i 9 Poleć książkęKup książkę Praca z klasami i egzemplarzami ......................................................................................... 223 Klasa Car ......................................................................................................................... 224 Przypisanie atrybutowi wartości domyślnej .................................................................... 225 Modyfikacja wartości atrybutu ........................................................................................ 226 Dziedziczenie ...................................................................................................................... 229 Metoda __init__() w klasie potomnej .............................................................................. 230 Dziedziczenie w Pythonie 2.7 ......................................................................................... 231 Definiowanie atrybutów i metod dla klasy potomnej ...................................................... 232 Nadpisywanie metod klasy nadrzędnej ........................................................................... 233 Egzemplarz jako atrybut .................................................................................................. 234 Modelowanie rzeczywistych obiektów ........................................................................... 236 Import klas ........................................................................................................................... 237 Import pojedynczej klasy ................................................................................................. 237 Przechowywanie wielu klas w module ............................................................................ 240 Import wielu klas z modułu ............................................................................................. 241 Import całego modułu ..................................................................................................... 242 Import wszystkich klas z modułu .................................................................................... 242 Import modułu w module ............................................................................................... 243 Określenie swojego sposobu pracy ................................................................................. 244 Biblioteka standardowa Pythona ......................................................................................... 245 Nadawanie stylu klasom ...................................................................................................... 246 Podsumowanie .................................................................................................................... 248 10 PLIKI I WYJĄTKI .................................................................................... 249 Odczytywanie danych z pliku .............................................................................................. 250 Wczytywanie całego pliku ............................................................................................... 250 Ścieżka dostępu do pliku ................................................................................................. 252 Odczytywanie wiersz po wierszu .................................................................................... 253 Utworzenie listy wierszy na podstawie zawartości pliku ................................................ 255 Praca z zawartością pliku ................................................................................................. 255 Ogromne pliki, czyli na przykład milion cyfr ................................................................... 257 Czy data Twoich urodzin znajduje się w liczbie pi? ......................................................... 257 Zapisywanie danych w pliku ................................................................................................ 258 Zapisywanie danych do pustego pliku ............................................................................. 259 Zapisywanie wielu wierszy .............................................................................................. 260 Dołączanie do pliku ......................................................................................................... 261 Wyjątki ................................................................................................................................. 262 Obsługiwanie wyjątku ZeroDivisionError ....................................................................... 262 Używanie bloku try-except ............................................................................................. 263 Używanie wyjątków w celu uniknięcia awarii programu ................................................. 264 Blok else .......................................................................................................................... 265 Obsługa wyjątku FileNotFoundError .............................................................................. 266 Analiza tekstu .................................................................................................................. 267 Praca z wieloma plikami .................................................................................................. 269 10 S p i s t r e ś c i Poleć książkęKup książkę Ciche niepowodzenie .......................................................................................................270 Które błędy należy zgłaszać? ............................................................................................271 Przechowywanie danych ......................................................................................................273 Używanie json.dump() i json.load() ..................................................................................273 Zapisywanie i odczytywanie danych wygenerowanych przez użytkownika ....................274 Refaktoryzacja ..................................................................................................................277 Podsumowanie .....................................................................................................................279 11 TESTOWANIE KODU .............................................................................. 281 Testowanie funkcji ...............................................................................................................282 Test jednostkowy i zestaw testów ...................................................................................283 Zaliczenie testu ................................................................................................................283 Niezaliczenie testu ...........................................................................................................285 Reakcja na niezaliczony test .............................................................................................286 Dodanie nowego testu .....................................................................................................288 Testowanie klasy ..................................................................................................................290 Różne rodzaje metod asercji ............................................................................................290 Klasa do przetestowania ..................................................................................................290 Testowanie klasy AnonymousSurvey ...............................................................................293 Metoda setUp() ................................................................................................................295 Podsumowanie .....................................................................................................................297 CZĘŚĆ II. PROJEKTY PROJEKT 1. INWAZJA OBCYCH 299 12 STATEK, KTÓRY STRZELA POCISKAMI ................................................. 303 Planowanie projektu ............................................................................................................304 Instalacja Pygame .................................................................................................................304 Instalacja pakietów Pythona za pomocą pip .....................................................................305 Rozpoczęcie pracy nad projektem gry .................................................................................310 Utworzenie okna Pygame i reagowanie na działania użytkownika ..................................310 Zdefiniowanie koloru tła ..................................................................................................311 Utworzenie klasy ustawień ..............................................................................................312 Dodanie obrazu statku kosmicznego ...................................................................................314 Utworzenie klasy statku kosmicznego .............................................................................314 Wyświetlenie statku kosmicznego na ekranie ..................................................................316 Refaktoryzacja, czyli moduł game_functions ........................................................................317 Funkcja check_events() ....................................................................................................317 Funkcja update_screen() ..................................................................................................319 S p i s t r e ś c i 11 Poleć książkęKup książkę Kierowanie statkiem kosmicznym ....................................................................................... 320 Reakcja na naciśnięcie klawisza ........................................................................................ 320 Umożliwienie nieustannego ruchu .................................................................................. 321 Poruszanie statkiem w obu kierunkach ........................................................................... 323 Dostosowanie szybkości statku ....................................................................................... 325 Ograniczenie zasięgu poruszania się statku ..................................................................... 327 Refaktoryzacja funkcji check_events() ............................................................................. 327 Krótkie powtórzenie ........................................................................................................... 328 alien_invasion.py .............................................................................................................. 328 settings.py ........................................................................................................................ 329 game_functions.py ........................................................................................................... 329 ship.py ............................................................................................................................. 329 Wystrzeliwanie pocisków .................................................................................................... 330 Dodawanie ustawień dotyczących pocisków .................................................................. 330 Utworzenie klasy Bullet ................................................................................................... 330 Przechowywanie pocisków w grupie .............................................................................. 332 Wystrzeliwanie pocisków ................................................................................................ 333 Usuwanie niewidocznych pocisków ................................................................................ 334 Ograniczenie liczby pocisków ......................................................................................... 336 Utworzenie funkcji update_bullets() ............................................................................... 337 Utworzenie funkcji fire_bullet() ...................................................................................... 337 Podsumowanie .................................................................................................................... 338 13 OBCY! .................................................................................................... 339 Przegląd projektu ................................................................................................................ 340 Utworzenie pierwszego obcego ......................................................................................... 341 Utworzenie klasy Alien .................................................................................................... 341 Utworzenie egzemplarza obcego .................................................................................... 342 Wyświetlenie obcego na ekranie ..................................................................................... 343 Utworzenie floty obcych ..................................................................................................... 343 Ustalenie maksymalnej liczby obcych wyświetlanych w jednym rzędzie ........................ 344 Utworzenie rzędów obcych ............................................................................................ 345 Utworzenie floty ............................................................................................................. 346 Refaktoryzacja funkcji create_fleet() ............................................................................... 348 Dodawanie rzędów ......................................................................................................... 349 Poruszanie flotą obcych ....................................................................................................... 351 Przesunięcie obcych w prawo ......................................................................................... 352 Zdefiniowanie ustawień dla kierunku poruszania się floty ............................................... 353 Sprawdzenie, czy obcy dotarł do krawędzi ekranu ......................................................... 354 Przesunięcie floty w dół i zmiana kierunku ..................................................................... 355 Zestrzeliwanie obcych ......................................................................................................... 356 Wykrywanie kolizji z pociskiem ....................................................................................... 356 Utworzenie większych pocisków w celach testowych ................................................... 357 Ponowne utworzenie floty .............................................................................................. 358 12 S p i s t r e ś c i Poleć książkęKup książkę Zwiększenie szybkości pocisku ........................................................................................360 Refaktoryzacja funkcji update_bullets() ............................................................................360 Zakończenie gry ...................................................................................................................361 Wykrywanie kolizji między obcym i statkiem ..................................................................361 Reakcja na kolizję między obcym i statkiem ....................................................................362 Obcy, który dociera do dolnej krawędzi ekranu .............................................................366 Koniec gry! .......................................................................................................................367 Ustalenie, które komponenty gry powinny być uruchomione .............................................367 Podsumowanie .....................................................................................................................368 14 PUNKTACJA .......................................................................................... 369 Dodanie przycisku Gra .........................................................................................................369 Utworzenie klasy Button .................................................................................................370 Wyświetlenie przycisku na ekranie ..................................................................................372 Uruchomienie gry ............................................................................................................373 Zerowanie gry ..................................................................................................................374 Dezaktywacja przycisku Gra ............................................................................................376 Ukrycie kursora myszy .....................................................................................................377 Zmiana poziomu trudności ..................................................................................................377 Zmiana ustawień dotyczących szybkości .........................................................................378 Wyzerowanie szybkości ...................................................................................................380 Punktacja ..............................................................................................................................381 Wyświetlanie punktacji .....................................................................................................381 Utworzenie tablicy wyników ...........................................................................................383 Uaktualnienie punktacji po zestrzeleniu obcego ..............................................................384 Zagwarantowanie uwzględnienia wszystkich trafień .......................................................386 Zwiększenie liczby zdobywanych punktów .....................................................................387 Zaokrąglanie punktacji .....................................................................................................388 Najlepsze wyniki ..............................................................................................................389 Wyświetlenie aktualnego poziomu gry ............................................................................391 Wyświetlenie liczby statków ............................................................................................396 Podsumowanie .....................................................................................................................399 PROJEKT 2. WIZUALIZACJA DANYCH 15 GENEROWANIE DANYCH ...................................................................... 405 Instalacja matplotlib ..............................................................................................................406 Linux .................................................................................................................................406 OS X ................................................................................................................................407 Windows ..........................................................................................................................407 Testowanie matplotlib .....................................................................................................407 Galeria matplotlib .............................................................................................................408 S p i s t r e ś c i 13 Poleć książkęKup książkę Wygenerowanie prostego wykresu liniowego .................................................................... 408 Zmienianie etykiety i grubości wykresu .......................................................................... 409 Poprawianie wykresu ...................................................................................................... 410 Używanie funkcji scatter() do wyświetlania poszczególnych punktów i nadawania im stylu ...................................................................................................... 411 Wyświetlanie serii punktów za pomocą funkcji scatter() ................................................ 413 Automatyczne obliczanie danych .................................................................................... 413 Usuwanie konturów z wyświetlanych punktów danych ................................................. 415 Definiowanie własnych kolorów ..................................................................................... 415 Użycie mapy kolorów ..................................................................................................... 415 Automatyczny zapis wykresu .......................................................................................... 416 Błądzenie losowe ................................................................................................................. 417 Utworzenie klasy RandomWalk ...................................................................................... 417 Wybór kierunku .............................................................................................................. 418 Wyświetlenie wykresu błądzenia losowego .................................................................... 419 Wygenerowanie wielu błądzeń losowych ....................................................................... 420 Nadawanie stylu danym wygenerowanym przez błądzenie losowe ............................... 421 Kolorowanie punktów ..................................................................................................... 421 Kolorowanie punktów początkowego i końcowego ....................................................... 422 Ukrywanie osi .................................................................................................................. 423 Dodawanie punktów do wykresu ................................................................................... 424 Zmienianie wielkości wykresu, aby wypełnił ekran ......................................................... 424 Symulacja rzutu kością do gry za pomocą Pygal .................................................................. 426 Instalacja Pygal ................................................................................................................. 427 Galeria Pygal .................................................................................................................... 427 Utworzenie klasy Die ...................................................................................................... 427 Rzut kością do gry ........................................................................................................... 428 Analiza wyników .............................................................................................................. 429 Utworzenie histogramu ................................................................................................... 430 Rzut dwiema kośćmi ....................................................................................................... 431 Rzut kośćmi o różnej liczbie ścianek ............................................................................... 433 Podsumowanie .................................................................................................................... 434 16 POBIERANIE DANYCH .......................................................................... 437 Format CSV ......................................................................................................................... 438 Przetwarzanie nagłówków pliku CSV ............................................................................. 438 Wyświetlanie nagłówków i ich położenia ........................................................................ 439 Wyodrębnienie i odczytanie danych ................................................................................ 440 Wyświetlenie danych na wykresie temperatury .............................................................. 442 Moduł datetime ............................................................................................................... 442 Wyświetlanie daty ............................................................................................................ 444 Wyświetlenie dłuższego przedziału czasu ....................................................................... 445 Wyświetlenie drugiej serii danych ................................................................................... 446 14 S p i s t r e ś c i Poleć książkęKup książkę Nakładanie cienia na wykresie .........................................................................................447 Sprawdzenie pod kątem błędów .....................................................................................448 Mapowanie globalnych zbiorów danych — format JSON ...................................................452 Pobranie danych dotyczących populacji świata ................................................................452 Wyodrębnienie interesujących nas danych ......................................................................453 Konwersja ciągu tekstowego na wartość liczbową ..........................................................454 Pobranie dwuznakowego kodu państwa .........................................................................455 Budowanie mapy świata ...................................................................................................458 Wyświetlenie danych liczbowych na mapie świata ..........................................................459 Wyświetlenie pełnej mapy populacji ................................................................................460 Grupowanie państw według populacji .............................................................................463 Nadawanie stylu mapie świata w Pygal ............................................................................464 Rozjaśnienie motywu graficznego ....................................................................................467 Podsumowanie .....................................................................................................................468 17 PRACA Z API ......................................................................................... 471 Użycie Web API ...................................................................................................................471 Git i GitHub ......................................................................................................................472 Żądanie danych za pomocą wywołania API .....................................................................472 Instalacja requests ............................................................................................................473 Przetworzenie odpowiedzi API .......................................................................................473 Praca ze słownikiem odpowiedzi .....................................................................................474 Podsumowanie repozytoriów najczęściej oznaczanych gwiazdką ...................................477 Monitorowanie ograniczeń liczby wywołań API ..............................................................478 Wizualizacja repozytoriów za pomocą pakietu Pygal ...........................................................479 Dopracowanie wykresów generowanych przez Pygal ....................................................481 Dodanie własnych podpowiedzi ......................................................................................483 Wyświetlanie danych ........................................................................................................484 Dodawanie łączy do wykresu ..........................................................................................486 Hacker News API ................................................................................................................487 Podsumowanie .....................................................................................................................490 PROJEKT 3. APLIKACJE SIECIOWE 18 ROZPOCZĘCIE PRACY Z DJANGO ......................................................... 495 Przygotowanie projektu .......................................................................................................496 Opracowanie specyfikacji .................................................................................................496 Utworzenie środowiska wirtualnego ...............................................................................496 Instalacja virtualenv ..........................................................................................................497 Aktywacja środowiska wirtualnego ..................................................................................497 Instalacja frameworka Django ..........................................................................................498 Utworzenie projektu w Django .......................................................................................498 S p i s t r e ś c i 15 Poleć książkęKup książkę Utworzenie bazy danych ................................................................................................. 499 Przegląd projektu ............................................................................................................ 500 Uruchomienie aplikacji ........................................................................................................ 501 Definiowanie modeli ........................................................................................................ 502 Aktywacja modeli ............................................................................................................ 503 Witryna administracyjna Django ...................................................................................... 505 Zdefiniowanie modelu Entry ........................................................................................... 508 Migracja modelu Entry ..................................................................................................... 509 Rejestracja modelu Entry w witrynie administracyjnej .................................................... 509 Powłoka Django .............................................................................................................. 510 Tworzenie stron internetowych — strona główna aplikacji ............................................... 512 Mapowanie adresu URL .................................................................................................. 513 Utworzenie widoku ......................................................................................................... 515 Utworzenie szablonu ...................................................................................................... 516 Utworzenie dodatkowych stron ......................................................................................... 517 Dziedziczenie szablonu ................................................................................................... 518 Strona tematów ............................................................................................................... 520 Strony poszczególnych tematów ..................................................................................... 523 Podsumowanie .................................................................................................................... 527 19 KONTA UŻYTKOWNIKÓW .................................................................... 529 Umożliwienie użytkownikom wprowadzania danych ......................................................... 530 Dodawanie nowego tematu ............................................................................................ 530 Dodawanie nowych wpisów ........................................................................................... 535 Edycja wpisu .................................................................................................................... 539 Konfiguracja kont użytkowników ........................................................................................ 543 Aplikacja users ................................................................................................................. 543 Strona logowania ............................................................................................................. 544 Wylogowanie ................................................................................................................... 547 Strona rejestracji użytkownika ........................................................................................ 548 Umożliwienie użytkownikom bycia właścicielami swoich danych ....................................... 552 Ograniczenie dostępu za pomocą dekoratora @login_required .................................... 552 Powiązanie danych z określonymi użytkownikami .......................................................... 555 Przyznanie dostępu jedynie odpowiednim użytkownikom ............................................. 558 Ochrona tematów użytkownika ...................................................................................... 559 Ochrona strony edit_entry .............................................................................................. 560 Powiązanie nowego tematu z bieżącym użytkownikiem ................................................ 560 Podsumowanie .................................................................................................................... 562 20 NADANIE STYLU I WDROŻENIE APLIKACJI .......................................... 563 Nadanie stylu aplikacji Learning Log .................................................................................... 564 Aplikacja django-bootstrap3 ............................................................................................ 564 Użycie Bootstrapa do nadania stylu aplikacji Learning Log ............................................. 565 16 S p i s t r e ś c i Poleć książkęKup książkę Modyfikacja pliku base.html .............................................................................................566 Użycie elementu Jumbotron do nadania stylu stronie głównej ........................................570 Nadanie stylu stronie logowania ......................................................................................570 Nadanie stylu stronie new_topic ......................................................................................571 Nadanie stylu stronie tematów ........................................................................................573 Nadanie stylów wpisom na stronie tematu ......................................................................573 Wdrożenie aplikacji Learning Log ........................................................................................575 Utworzenie konta w Heroku ...........................................................................................576 Instalacja Heroku Toolbelt ...............................................................................................576 Instalacja wymaganych pakietów ......................................................................................576 Utworzenie listy pakietów w pliku requirements.txt ......................................................577 Określenie środowiska uruchomieniowego Pythona .......................................................578 Modyfikacja pliku settings.py dla Heroku .........................................................................579 Utworzenie pliku Procfie do uruchomienia procesu .......................................................580 Modyfikacja pliku wsgi.py dla Heroku ..............................................................................580 Utworzenie katalogu dla plików statycznych ...................................................................580 Użycie serwera gunicorn w środowisku lokalnym ...........................................................581 Użycie Gita do monitorowania plików projektu ..............................................................582 Przekazanie projektu do Heroku .....................................................................................584 Konfiguracja bazy danych w Heroku ................................................................................585 Dopracowanie wdrożenia projektu w Heroku ................................................................586 Zabezpieczenie wdrożonego projektu ............................................................................588 Zatwierdzenie zmian i przekazanie ich do serwera .........................................................589 Utworzenie własnych stron błędu ...................................................................................590 Nieustanna rozbudowa ....................................................................................................593 Opcja SECRET_KEY ........................................................................................................594 Usunięcie projektu z Heroku ...........................................................................................594 Podsumowanie .....................................................................................................................595 POSŁOWIE .............................................................................................. 597 A INSTALACJA PYTHONA ........................................................................ 599 Python w systemie Linux ......................................................................................................599 Ustalenie zainstalowanej wersji ........................................................................................599 Instalacja Pythona 3 w systemie Linux .............................................................................600 Python w systemie OS X .....................................................................................................600 Ustalenie zainstalowanej wersji ........................................................................................600 Użycie menedżera Homebrew do instalacji Pythona 3 ...................................................601 Python w Windows ..............................................................................................................602 Instalacja Pythona 3 w Windows ......................................................................................602 Odszukanie interpretera Pythona ....................................................................................603 Dodanie Pythona do zmiennej Path .................................................................................603 S p i s t r e ś c i 17 Poleć książkęKup książkę Słowa kluczowe Pythona i wbudowane funkcje .................................................................. 604 Słowa kluczowe Pythona ................................................................................................. 604 Wbudowane funkcje Pythona .......................................................................................... 604 B EDYTORY TEKSTU ................................................................................. 607 Geany .............................................................................................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Python. Instrukcje dla programisty
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: