Facebook - konwersja
  • promocja

Python. Nowoczesne programowanie w prostych krokach. Wydanie II - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
17 listopada 2020
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Python. Nowoczesne programowanie w prostych krokach. Wydanie II - ebook

Python nie jest językiem idealnym, jednak przybywa programistów, którzy uważają go za bliski ideału. Wyróżnia się prostotą i wszechstronnością. Jest wdzięcznym narzędziem do badania danych i tworzenia systemów sztucznej inteligencji, uwielbiają go analitycy, ekonomiści i naukowcy. Może posłużyć do tworzenia stron WWW czy aplikacji specjalnego przeznaczenia. Python należy do najbardziej spójnych i czytelnych języków programowania. Jest przykładem całkiem udanego kompromisu pomiędzy prostotą, łatwością przyswajania i wyjątkową skutecznością. Z pewnością warto się go nauczyć, jednak od początku dobrze jest wpoić sobie nawyki pisania kodu nowoczesnego, wysokiej jakości, zgodnego z dobrą praktyką.

Oto znakomity, przystępny i świetnie napisany podręcznik do nauki Pythona. Opisuje podstawy kodu i struktur danych i stopniowo wprowadza bardziej zaawansowane zagadnienia, takie jak praca z bazami danych i stronami WWW, podstawy działania chmury obliczeniowej, uczenia maszynowego i strumieniowania zdarzeń. Poza standardową biblioteką Pythona przedstawiono tu przydatne zewnętrzne pakiety, dokładniej opisano te najbardziej pomocne. Omówiono dobre praktyki tworzenia, testowania i diagnozowania kodu. Książka zawiera też mnóstwo wskazówek i przykładów kodu. Wyjaśnia pewne szczególne funkcjonalności Pythona, których stosowanie jest o wiele lepszym rozwiązaniem niż adaptowanie technik z innych języków. Nawet jeśli dziś o programowaniu wiesz mniej niż niewiele, dzięki temu podręcznikowi staniesz się prawdziwym pythonowcem!

W tej książce między innymi:

  • podstawy Pythona oraz funkcje, moduły i pakiety
  • programowanie zorientowane obiektowo
  • praca z bazami danych: relacyjnymi i NoSQL
  • klienty internetowe, serwery, interfejsy API i usługi
  • zarządzanie programami, procesami i wątkami
  • implementacja współbieżności i komunikacji sieciowej

Problemy? Rozwiąż je po pythonowsku!

Spis treści


Wstęp 21

CZĘŚĆ I. PODSTAWY PYTHONA

1. Przedsmak Pythona 29

  • Zagadki 29
  • Kilka małych programów 31
  • Większy program 33
  • Python w praktyce 36
  • Python i inne języki 37
  • Dlaczego właśnie Python? 39
  • Kiedy nie używać Pythona? 41
  • Wersje Pythona 2 i 3 42
  • Instalacja Pythona 42
  • Uruchomienie Pythona 42
    • Interaktywny interpreter 43
    • Skrypty 43
    • Co dalej? 44
  • Twoja chwila zen 44
  • Już wkrótce 45
  • Do zrobienia 45

2. Dane - typy, wartości, zmienne i nazwy 47

  • Dane w Pythonie to obiekty 47
  • Typy danych 48
  • Mutowalność 49
  • Wartości 49
  • Zmienne 50
  • Przypisania 51
  • Zmienne to nazwy, a nie miejsca w pamięci 52
  • Przypisania wielokrotne 55
  • Ponowne przypisania 55
  • Kopiowanie 55
  • Nadawaj zmiennym właściwe nazwy 56
  • Już wkrótce 57
  • Do zrobienia 57

3. Liczby 59

  • Typ logiczny 59
  • Typ całkowity 60
    • Literały 60
    • Działania 61
    • Zmienne 63
    • Kolejność działań 65
    • Podstawa systemu liczbowego 65
    • Konwersja typów 68
    • Jak duża może być liczba całkowita? 69
  • Typ zmiennoprzecinkowy 70
  • Funkcje matematyczne 71
  • Już wkrótce 71
  • Do zrobienia 72

4. Podejmowanie decyzji, czyli instrukcja if 73

  • Komentowanie za pomocą znaku # 73
  • Kontynuacja wiersza za pomocą znaku \ 74
  • Sprawdzanie za pomocą instrukcji if, elif i else 75
  • Co oznacza True? 77
  • Wielokrotne sprawdzanie za pomocą operatora in 78
  • Nowość: operator walrus 79
  • Już wkrótce 80
  • Do zrobienia 80

5. Ciągi znaków 81

  • Tworzenie ciągu znaków za pomocą cudzysłowów i apostrofów 81
  • Tworzenie ciągu za pomocą funkcji str() 84
  • Ucieczka ze znakiem \ 84
  • Łączenie ciągów za pomocą znaku + 85
  • Powielanie ciągu za pomocą znaku * 86
  • Wyodrębnianie znaku za pomocą nawiasów [\ 86
  • Wyodrębnianie fragmentu ciągu za pomocą wycinka 87
  • Określanie długości ciągu za pomocą funkcji len() 89
  • Dzielenie ciągu za pomocą funkcji split() 89
  • Łączenie ciągów za pomocą funkcji join() 90
  • Zastępowanie fragmentów ciągu za pomocą funkcji replace() 90
  • Przycinanie ciągu za pomocą funkcji strip() 91
  • Przeszukiwanie i wybieranie ciągów znaków 92
  • Wielkości liter 93
  • Wyrównywanie ciągu znaków 94
  • Formatowanie ciągów znaków 94
    • Formatowanie w starym stylu za pomocą znaku % 94
    • Formatowanie w starym stylu za pomocą znaków {} i funkcji format() 97
    • Najnowszy styl formatowania: f-ciągi 98
  • Więcej o ciągach 99
  • Już wkrótce 99
  • Do zrobienia 100

6. Pętle while i for 101

  • Powtarzanie operacji za pomocą instrukcji while 101
    • Przerywanie pętli za pomocą instrukcji break 102
    • Powrót na początek pętli za pomocą instrukcji continue 102
    • Sprawdzanie przerwania pętli za pomocą instrukcji else 103
  • Iterowanie za pomocą instrukcji for i in 103
    • Przerywanie pętli za pomocą instrukcji break 104
    • Powrót na początek pętli za pomocą instrukcji continue 104
    • Sprawdzanie przerwania pętli za pomocą instrukcji else 104
    • Generowanie sekwencji liczb za pomocą funkcji range() 105
  • Inne iteratory 106
  • Już wkrótce 106
  • Do zrobienia 106

7. Krotki i listy 107

  • Krotki 107
    • Tworzenie krotek za pomocą przecinków i nawiasów 107
    • Tworzenie krotek za pomocą funkcji tuple() 109
    • Łączenie krotek za pomocą znaku dodawania 109
    • Powielanie elementów krotki za pomocą znaku mnożenia 109
    • Porównywanie krotek 109
    • Iterowanie krotek za pomocą instrukcji for i in 109
    • Modyfikowanie krotek 110
  • Listy 110
    • Tworzenie list za pomocą nawiasów kwadratowych 110
    • Tworzenie i przekształcanie list za pomocą funkcji list() 111
    • Tworzenie list z ciągów za pomocą funkcji split() 111
    • Odczytywanie elementu listy za pomocą nawiasów kwadratowych i indeksu 112
    • Wyodrębnianie elementów listy za pomocą wycinków 112
    • Dołączanie elementu do listy za pomocą funkcji append() 113
    • Wstawianie elementu wewnątrz listy za pomocą funkcji insert() 113
    • Powielanie elementów listy za pomocą znaku mnożenia 114
    • Łączenie list za pomocą funkcji extend() i znaku dodawania 114
    • Modyfikowanie elementu listy za pomocą nawiasów kwadratowych i indeksu 114
    • Modyfikowanie elementów listy za pomocą wycinka 115
    • Usuwanie elementu listy za pomocą instrukcji del i indeksu 115
    • Usuwanie elementu o zadanej wartości za pomocą funkcji remove() 116
    • Odczytywanie i usuwanie elementu listy za pomocą funkcji pop() 116
    • Usuwanie wszystkich elementów listy za pomocą funkcji clear() 116
    • Wyszukiwanie elementu o zadanej wartości za pomocą funkcji index() 117
    • Sprawdzanie zawartości listy za pomocą instrukcji in 117
    • Zliczanie wystąpień wartości za pomocą funkcji count() 117
    • Przekształcenie listy w ciąg znaków za pomocą funkcji join() 117
    • Zmienianie kolejności elementów za pomocą funkcji sort() i sorted() 118
    • Sprawdzanie długości listy za pomocą funkcji len() 119
    • Przypisywanie listy zmiennej za pomocą znaku równości 119
    • Kopiowanie listy za pomocą funkcji copy() i list() oraz wycinka 119
    • Kopiowanie zawartości listy za pomocą funkcji deepcopy() 120
    • Porównywanie list 121
    • Iterowanie listy za pomocą instrukcji for i in 121
    • Iterowanie kilku list za pomocą funkcji zip() 122
    • Tworzenie listy za pomocą wyrażenia listowego 123
    • Listy list 125
  • Krotki a listy 126
  • Nie ma wyrażeń krotkowych 126
  • Już wkrótce 126
  • Do zrobienia 127

8. Słowniki i zbiory 129

  • Słowniki 129
    • Tworzenie słownika za pomocą nawiasów klamrowych 129
    • Tworzenie słownika za pomocą funkcji dict() 130
    • Przekształcanie struktury w słownik za pomocą funkcji dict() 130
    • Dodawanie i zmienianie elementów słownika za pomocą nawiasów kwadratowych i klucza 131
    • Odczytywanie wartości za pomocą nawiasów kwadratowych i klucza oraz funkcji get() 132
    • Odczytywanie wszystkich kluczy za pomocą funkcji keys() 133
    • Odczytywanie wszystkich wartości za pomocą funkcji values() 133
    • Odczytywanie wszystkich par klucz-wartość za pomocą funkcji items() 133
    • Odczytywanie długości słownika za pomocą funkcji len() 133
    • Łączenie słowników za pomocą nawiasów klamrowych i znaków mnożenia 134
    • Łączenie słowników za pomocą funkcji update() 134
    • Usuwanie elementu słownika za pomocą instrukcji del i klucza 135
    • Odczytywanie i usuwanie elementu słownika za pomocą funkcji pop() 135
    • Usuwanie wszystkich elementów słownika za pomocą funkcji clear() 135
    • Sprawdzanie dostępności klucza za pomocą instrukcji in 136
    • Przypisywanie wartości za pomocą znaku równości 136
    • Kopiowanie słownika za pomocą funkcji copy() 136
    • Kopiowanie zawartości słownika za pomocą funkcji deepcopy() 137
    • Porównywanie słowników 138
    • Iterowanie elementów słownika za pomocą instrukcji for i in 138
    • Wyrażenia słownikowe 139
  • Zbiory 140
    • Tworzenie zbioru za pomocą funkcji set() 140
    • Przekształcanie struktury w zbiór za pomocą funkcji set() 141
    • Odczytywanie długości zbioru za pomocą funkcji len() 141
    • Dodawanie elementów do zbioru za pomocą funkcji add() 141
    • Usuwanie elementów zbioru za pomocą funkcji remove() 142
    • Iterowanie zbioru za pomocą instrukcji for i in 142
    • Sprawdzanie dostępności elementu za pomocą instrukcji in 142
    • Kombinacje wartości i operatory 143
    • Wyrażenia zbiorowe 145
    • Tworzenie niemutowalnych zbiorów za pomocą funkcji frozenset() 146
  • Poznane struktury danych 146
  • Tworzenie większych struktur 147
  • Już wkrótce 148
  • Do zrobienia 148

9. Funkcje 149

  • Definiowanie funkcji za pomocą instrukcji def 149
  • Wywołanie funkcji z nawiasami 150
  • Argumenty i parametry 150
    • Wartość None jest przydatna 152
    • Argumenty pozycyjne 153
    • Argumenty nazwane 153
    • Domyślne wartości parametrów 154
    • Rozbijanie/zbieranie argumentów pozycyjnych za pomocą znaku * 155
    • Rozbijanie/zbieranie argumentów nazwanych za pomocą znaków ** 156
    • Stosowanie wyłącznie argumentów nazwanych 157
    • Argumenty mutowalne i niemutowalne 158
  • Komentarze dokumentacyjne 158
  • Funkcje jako typy pierwszoklasowe 159
  • Funkcje wewnętrzne 161
    • Domknięcia 161
  • Funkcje anonimowe: wyrażenia lambda 162
  • Generatory 163
    • Funkcje generatorowe 163
    • Wyrażenia generatorowe 164
  • Dekoratory 164
  • Przestrzenie nazw i zakresy widoczności 166
  • Podwójne znaki podkreślenia w nazwach 168
  • Rekurencja 169
  • Funkcje asynchroniczne 170
  • Wyjątki 170
    • Obsługiwanie wyjątków za pomocą instrukcji try i except 171
    • Definiowanie własnych wyjątków 172
  • Już wkrótce 173
  • Do zrobienia 173

10. Obiekty i klasy 175

  • Czym jest obiekt? 175
  • Proste obiekty 176
    • Definiowanie klasy 176
    • Atrybuty 177
    • Metody 178
    • Inicjacja obiektu 178
  • Dziedziczenie klas 179
    • Dziedziczenie klasy nadrzędnej 179
    • Nadpisywanie metod 181
    • Dodawanie metod 182
    • Odwołanie do klasy nadrzędnej za pomocą metody super() 182
    • Dziedziczenie wielu klas 183
    • Domieszki 185
  • Argument self 185
  • Dostęp do atrybutów 186
    • Dostęp bezpośredni 186
    • Gettery i settery 186
    • Dostęp do atrybutów za pośrednictwem właściwości 187
    • Właściwości zwracające wyliczane wartości 188
    • Prywatność dzięki modyfikacji nazwy 189
    • Atrybuty klas i obiektów 190
  • Rodzaje metod 191
    • Metody instancji 191
    • Metody klasy 191
    • Metody statyczne 192
  • Kacze typowanie 192
  • Magiczne metody 194
  • Agregowanie i komponowanie klas 196
  • Kiedy stosować obiekty, a kiedy inne struktury 197
  • Nazwane krotki 198
  • Klasy danych 199
  • Pakiet attrs 200
  • Już wkrótce 201
  • Do zrobienia 201

11. Moduły, pakiety i inne rzeczy 203

  • Moduły i instrukcja import 203
    • Importowanie modułu 203
    • Importowanie modułu z przemianowaniem 205
    • Importowanie tylko tego, co jest potrzebne 205
  • Pakiety 206
    • Ścieżka wyszukiwania modułów 207
    • Importowanie względne i bezwzględne 208
    • Przestrzenie pakietów 208
    • Moduły a obiekty 209
  • Przydatne rzeczy w standardowej bibliotece Pythona 210
    • Obsługa brakujących kluczy za pomocą funkcji setdefault() i defaultdict() 210
    • Zliczanie elementów za pomocą klasy Counter 212
    • Porządkowanie elementów według klucza za pomocą klasy OrderedDict 213
    • Stos + kolejka == deque 213
    • Iterowanie struktur danych za pomocą modułu itertools 214
    • Czytelne wyświetlanie za pomocą funkcji pprint() 215
    • Wartości losowe 216
  • Więcej narzędzi: zewnętrzny kod 217
  • Już wkrótce 217
  • Do zrobienia 217

CZĘŚĆ II. PYTHON W PRAKTYCE

12. Żonglowanie danymi 221

  • Dane tekstowe - kodowanie Unicode 222
    • Kodowanie Unicode w Pythonie 3 222
    • Schemat UTF-8 225
    • Kodowanie znaków 225
    • Dekodowanie znaków 227
    • Kody HTML 228
    • Normalizowanie znaków 229
    • Dodatkowe informacje 230
  • Dane tekstowe - wyrażenia regularne 230
    • Wyszukiwanie dokładnego początkowego dopasowania za pomocą funkcji match() 231
    • Wyszukiwanie pierwszego dopasowania za pomocą funkcji search() 233
    • Wyszukiwanie wszystkich dopasowań za pomocą funkcji findall() 233
    • Dzielenie ciągu według dopasowań za pomocą funkcji split() 233
    • Zastępowanie dopasowań za pomocą funkcji sub() 234
    • Wzorce: znaki specjalne 234
    • Wzorce: specyfikatory 235
    • Wzorce: określanie formatu wyniku funkcji 238
  • Dane binarne 238
    • Struktury bytes i bytearray 238
    • Konwertowanie danych binarnych za pomocą modułu struct 240
    • Inne narzędzia do przetwarzania danych binarnych 242
    • Konwertowanie bajtów i ciągów znaków za pomocą modułu binascii 243
    • Operatory bitowe 243
  • Już wkrótce 244
  • Do zrobienia 244

13. Data i czas 247

  • Rok przestępny 248
  • Moduł datetime 248
  • Moduł time 251
  • Odczytywanie i wyświetlanie daty i czasu 253
  • Wszystkie przekształcenia 256
  • Alternatywne moduły 257
  • Już wkrótce 257
  • Do zrobienia 257

14. Pliki i katalogi 259

  • Zapisywanie i odczytywanie plików 259
    • Tworzenie i otwieranie plików za pomocą funkcji open() 259
    • Zapisywanie danych tekstowych za pomocą instrukcji print() 260
    • Zapisywanie danych tekstowych za pomocą instrukcji write() 261
    • Odczytywanie pliku tekstowego za pomocą funkcji read(), readline() i readlines() 262
    • Zapisywanie danych binarnych za pomocą funkcji write() 264
    • Odczytywanie danych binarnych za pomocą funkcji read() 264
    • Automatyczne zamykanie pliku za pomocą instrukcji with 265
    • Przesuwanie wskaźnika za pomocą funkcji seek() 265
  • Mapowanie pamięci 267
  • Operacje na plikach 267
    • Sprawdzanie dostępności pliku za pomocą funkcji exists() 267
    • Sprawdzanie rodzaju elementu za pomocą funkcji isfile() 267
    • Kopiowanie pliku za pomocą funkcji copy() 268
    • Zmienianie nazwy pliku za pomocą funkcji rename() 268
    • Tworzenie odnośników za pomocą funkcji link() i symlink() 268
    • Zmienianie uprawnień do pliku za pomocą funkcji chmod() 269
    • Zmienianie właściciela pliku za pomocą funkcji chown() 269
    • Usuwanie pliku za pomocą funkcji remove() 269
  • Operacje na katalogach 270
    • Tworzenie katalogu za pomocą funkcji mkdir() 270
    • Usuwanie katalogu za pomocą funkcji rmdir() 270
    • Odczytywanie zawartości katalogu za pomocą funkcji listdir() 270
    • Zmienianie katalogu za pomocą funkcji chdir() 271
    • Wyszukiwanie plików i katalogów za pomocą funkcji glob() 271
  • Nazwy ścieżek 271
    • Uzyskiwanie ścieżki za pomocą funkcji abspath() 272
    • Uzyskiwanie ścieżki na podstawie symbolicznego odnośnika za pomocą funkcji realpath() 272
    • Tworzenie ścieżki za pomocą funkcji os.path.join() 272
    • Moduł pathlib 273
  • Klasy BytesIO i StringIO 274
  • Już wkrótce 275
  • Do zrobienia 275

15. Dane w czasie, czyli procesy i współbieżność 277

  • Programy i procesy 277
    • Tworzenie procesu za pomocą modułu subprocess 278
    • Tworzenie procesu za pomocą modułu multiprocessing 279
    • Przerywanie procesu za pomocą funkcji terminate() 280
    • Uzyskiwanie informacji systemowych za pomocą modułu os 280
    • Uzyskiwanie informacji o procesie za pomocą pakietu psutil 281
  • Automatyzacja poleceń 282
    • Pakiet invoke 282
    • Inne przydatne pakiety 283
  • Współbieżność 283
    • Kolejki 284
    • Procesy 285
    • Wątki 285
    • Moduł concurrent.futures 288
    • Zielone wątki i biblioteka gevent 290
    • Moduł twisted 293
    • Biblioteka asyncio 294
    • Biblioteka Redis 294
    • Nie tylko kolejki 297
  • Już wkrótce 298
  • Do zrobienia 298

16. Dane w pudełku, czyli trwałe zapisywanie 299

  • Płaskie pliki tekstowe 299
  • Dopełniane pliki tekstowe 299
  • Tabelaryczne pliki tekstowe 300
    • Format CSV 300
    • Format XML 302
    • Dane XML i bezpieczeństwo systemu 304
    • Format HTML 305
    • Format JSON 305
    • Format YAML 308
    • Moduł tablib 309
    • Biblioteka Pandas 309
    • Pliki konfiguracyjne 310
  • Pliki binarne 311
    • Dopełniane pliki binarne i mapowanie pamięci 311
    • Arkusze kalkulacyjne 312
    • Format HDF5 312
    • Format TileDB 312
  • Relacyjne bazy danych 312
    • Język SQL 313
    • Interfejs DB-API 315
    • Baza SQLite 315
    • Baza MySQL 317
    • Baza PostgreSQL 317
    • Biblioteka SQLAlchemy 318
    • Inne pakiety do obsługi baz danych 323
  • Bazy danych NoSQL 323
    • Rodzina formatów dbm 323
    • Baza Memcached 324
    • Baza Redis 325
    • Bazy dokumentowe 331
    • Bazy danych czasowych 332
    • Bazy grafowe 332
    • Inne bazy NoSQL 333
  • Bazy pełnotekstowe 333
  • Już wkrótce 334
  • Do zrobienia 334

17. Dane w przestrzeni, czyli sieć 335

  • Protokoły sieciowe 335
    • Gniazda sieciowe 336
    • Narzędzie Scapy 340
    • Narzędzie Netcat 341
  • Zasady komunikacji sieciowej 341
  • Zasada "zapytanie-odpowiedź" 341
    • Biblioteka ZeroMQ 342
    • Inne narzędzia do przesyłania komunikatów 345
  • Zasada "publikuj-subskrybuj" 346
    • Serwer Redis 346
    • Biblioteka ZeroMQ 347
    • Inne narzędzia typu "publikuj-subskrybuj" 349
  • Usługi internetowe 349
    • Usługa DNS 349
    • Moduły do obsługi poczty e-mail 350
    • Inne protokoły 350
  • Usługi WWW i interfejsy API 351
  • Serializacja danych 351
    • Moduł pickle 352
    • Inne formaty serializacyjne 353
  • Protokół RPC 353
    • Protokół XML-RPC 354
    • Protokół JSON-RPC 355
    • Biblioteka MessagePack RPC 356
    • Biblioteka zerorpc 357
    • Biblioteka gRPC 357
    • Biblioteka Twirp 358
  • Narzędzia do zdalnego zarządzania 358
  • Big Fat Data 359
    • Hadoop 359
    • Spark 359
    • Disco 360
    • Dask 360
  • Chmury 360
    • Amazon Web Services 361
    • Google Cloud 362
    • Microsoft Azure 362
    • OpenStack 362
  • Docker 362
    • Kubernetes 362
  • Już wkrótce 363
  • Do zrobienia 363

18. Sieć WWW 365

  • Klienci internetowi 366
    • Testowanie strony za pomocą programu telnet 367
    • Testowanie strony za pomocą programu curl 368
    • Testowanie strony za pomocą programu httpie 369
    • Testowanie strony za pomocą programu httpbin 369
    • Standardowe biblioteki WWW w Pythonie 369
    • Nie tylko standardowa biblioteka: moduł requests 371
  • Serwery WWW 373
    • Najprostszy serwer WWW 373
    • Interfejs WSGI 374
    • Interfejs ASGI 375
    • Serwer Apache 375
    • Serwer NGINX 376
    • Inne serwery WWW dla języka Python 377
  • Platformy dla serwerów WWW 377
    • Platforma Bottle 378
    • Platforma Flask 380
    • Platforma Django 384
    • Inne platformy 384
  • Platformy bazodanowe 385
  • Usługi WWW i automatyzacja 385
    • Moduł webbrowser 386
    • Moduł webview 386
  • Interfejsy API i REST 387
  • Automatyczne wyszukiwanie danych 388
    • Scrapy 388
    • BeautifulSoup 388
    • Moduł requests-html 389
  • Obejrzyjmy film 390
  • Już wkrótce 391
  • Do zrobienia 392

19. Stań się pythonistą 393

  • O programowaniu 393
  • Skąd wziąć kod? 394
  • Instalowanie pakietów 394
    • Program pip 395
    • Program virtualenv 395
    • Program pipenv 396
    • Menedżer pakietów 396
    • Instalacja plików źródłowych 396
  • Środowiska IDE 397
    • IDLE 397
    • PyCharm 397
    • IPython 398
    • Jupyter Notebook 399
    • JupyterLab 399
  • Nazwy i dokumentacja 399
  • Wskazówki typów 401
  • Testy 401
    • Programy pylint, pyflakes, flake8 i pep8 402
    • Pakiet unittest 403
    • Pakiet doctest 407
    • Pakiet nose 408
    • Inne platformy testujące 409
    • Ciągła integracja 409
  • Diagnostyka kodu 410
    • Funkcja print() 410
    • Dekoratory 411
    • Moduł pdb 412
    • Funkcja breakpoint() 417
  • Rejestrowanie komunikatów o błędach 417
  • Optymalizacja kodu 419
    • Pomiary czasu 419
    • Algorytmy i struktury danych 422
    • Cython, NumPy i rozszerzenia C 423
    • PyPy 424
    • Numba 424
  • Kontrola wersji kodu 425
    • Mercurial 425
    • Git 425
  • Rozpowszechnianie programów 428
  • Dowiedz się więcej 428
    • Książki 428
    • Strony internetowe 429
    • Grupy 429
    • Konferencje 429
    • Praca 430
  • Już wkrótce 430
  • Do zrobienia 430

20. Python w sztuce 431

  • Grafika dwuwymiarowa 431
    • Standardowa biblioteka 431
    • Biblioteki PIL i Pillow 432
    • ImageMagick 435
  • Grafika trójwymiarowa 436
  • Animacja trójwymiarowa 436
  • Graficzne interfejsy użytkownika 436
  • Wykresy i wizualizacja danych 438
    • Matplotlib 438
    • Seaborn 440
    • Bokeh 441
  • Gry 442
  • Dźwięk i muzyka 442
  • Już wkrótce 443
  • Do zrobienia 443

21. Python w biznesie 445

  • Pakiety biurowe 445
  • Operacje biznesowe 446
  • Przetwarzanie danych biznesowych 447
    • Wyodrębnianie, przekształcanie i ładowanie danych 447
    • Weryfikacja poprawności danych 450
    • Dodatkowe źródła informacji 451
  • Otwarte pakiety biznesowe 451
  • Python i finanse 451
  • Bezpieczeństwo danych finansowych 452
  • Mapy 452
    • Formaty danych 453
    • Wyświetlanie map w formacie shapefile 453
    • Geopandas 455
    • Inne pakiety kartograficzne 457
    • Aplikacje i dane 458
  • Już wkrótce 459
  • Do zrobienia 459

22. Python w nauce 461

  • Matematyka i statystyka w standardowej bibliotece 461
    • Funkcje matematyczne 461
    • Liczby zespolone 463
    • Precyzja obliczeń i moduł decimal 464
    • Działania na ułamkach zwykłych 464
    • Klasa array, czyli spakowana sekwencja wartości 465
    • Prosta statystyka w module statistics 465
    • Mnożenie macierzy 465
  • Naukowy Python 465
  • Pakiet NumPy 466
    • Tworzenie tablicy za pomocą funkcji...
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-6843-9
Rozmiar pliku: 6,7 MB

BESTSELLERY

Kategorie: