Питон. Инструкция для программатора. 3-е издание

Товар

4 156  ₽
Питон. Инструкция для программатора. 3-е издание

Доставка

  • Почта России

    от 990 ₽

  • Курьерская доставка EMS

    от 1290 ₽

Характеристики

Артикул
15341761550
Состояние
Новый
Język publikacji
polski
Okładka
miękka
Nośnik
książka papierowa
Rok wydania
2023
Tytuł
Python. Instrukcje dla programisty
Autor
Eric Matthes
Wydawnictwo
Helion
Liczba stron
608
Numer wydania
1
Szerokość produktu
16 cm
Wysokość produktu
22 cm

Описание

Python. Instrukcje dla programisty. Wydanie III

Python. Instrukcje dla programisty. Wydanie III

Eric Matthes

Popularność Pythona stale rośnie: jest wszechstronny i zoptymalizowany pod kątem efektywności pracy, czytelności kodu i jakości oprogramowania, do tego darmowy, łatwo przenośny i można się go szybko nauczyć. Nadaje się do tworzenia gier i aplikacji sieciowych, do wdrażania indywidualnych rozwiązań biznesowych, sprawdza się nawet jako bezcenne narzędzie badaczy różnych dziedzin nauki. Jeśli tylko programista trochę się postara, może w Pythonie łatwo pisać przejrzysty, zwięzły kod, który jest prosty w utrzymaniu i nie sprawia problemów przy rozwijaniu oprogramowania. Python to idealny wybór dla każdego, kto nie chce tracić dużo czasu na naukę i liczy na to, że szybko zacznie pisać poprawny i działający kod.

"Doskonałe przedstawienie materiału wraz z dobrym wyjaśnieniem przykładowych fragmentów kodu. Ta książka rozwija się wraz z czytelnikiem - poruszasz się małymi krokami do przodu, zaczynasz tworzyć coraz bardziej skomplikowany kod, a po drodze wszystko jest dokładnie wyjaśnione."

FlickThrough Reviews

To trzecie, zaktualizowane i poprawione wydanie bestsellerowego podręcznika Programowania w Pythonie pozwoli Ci błyskawicznie zacząć tworzyć kod, który działa! Zaczniesz od zrozumienia podstawowych koncepcji programistycznych, następnie nauczysz się zapewniać programom interaktywność i wykształcisz nawyk starannego testowania kodu przed wdrożeniem. Poszczególne zagadnienia będziesz natychmiast utrwalać dzięki licznym ćwiczeniom. Kolejnym etapem nauki będą praktyczne projekty: gra zręcznościowa, wizualizacja danych oraz aplikacja internetowa. Umiejętności, które zdobędziesz w ramach tego błyskawicznego kursu Pythona, pozwolą Ci tworzyć własne, rzeczywiste i wykorzystywane w praktyce aplikacje!

W tej książce znajdziesz dokładne instrukcje, jak:

  • przygotować środowisko pracy i napisać swój pierwszy program
  • wykorzystywać biblioteki i narzędzia Pythona, w tym pygame, matplotlib, plotly i Django
  • generować interaktywne wizualizacje danych
  • tworzyć proste aplikacje internetowe i wdrażać je na serwerach WWW
  • testować i debugować kod oraz z powodzeniem rozwiązywać pojawiające się problemy

Zacznij programować w Pythonie! Szybko, już!

O autorze

Eric Matthes - jest nauczycielem, hakerem i autorem książek. Uczy informatyki, fizyki i matematyki w szkole średniej. Od kilku lat prowadzi kursy dla początkujących programistów Pythona. Swój pierwszy program komputerowy — prostą, poprawnie funkcjonującą grę — napisał w wieku pięciu lat i od tej pory nieprzerwanie pasjonuje się tworzeniem kodu. Mieszka na Alasce wraz z żoną i synem.

Spis treści

O autorze 23

O korektorze merytorycznym 23

Podziękowania 25

Wprowadzenie do drugiego wydania książki 27

Wprowadzenie 31

  • Do kogo jest skierowana ta książka? 32
  • Czego nauczysz się z tej książki? 32
  • Zasoby w internecie 34
  • Dlaczego Python? 34

CZĘŚĆ I. PODSTAWY

1. Rozpoczęcie pracy 39

  • Przygotowanie środowiska programistycznego 39

    Wersje Pythona 39

    Wykonanie fragmentu kodu w Pythonie 40

    Edytor tekstu Sublime Text 41

  • Python w różnych systemach operacyjnych 41

    Python w systemie Windows 41

    Python w systemie macOS 43

    Python w systemach z rodziny Linux 45

  • Uruchomienie programu typu "Witaj, świecie!" 46

    Konfiguracja Sublime Text dla Pythona 3 46

    Uruchomienie programu typu "Witaj, świecie!" 47

  • Rozwiązywanie problemów podczas instalacji 47
  • Uruchamianie programów Pythona z poziomu powłoki 49

    W systemie Windows 49

    W systemach macOS i Linux 49

  • Podsumowanie 51

2. Zmienne i proste typy danych 53

  • Co tak naprawdę dzieje się po uruchomieniu hello_world.py? 53
  • Zmienne 54

    Nadawanie nazw zmiennym i używanie zmiennych 55

    Unikanie błędów związanych z nazwami podczas używania zmiennych 56

    Zmienna to etykieta 57

  • Ciągi tekstowe 58

    Zmiana wielkości liter ciągu tekstowego za pomocą metod 58

    Używanie zmiennych w ciągach tekstowych 60

    Dodawanie białych znaków do ciągów tekstowych za pomocą tabulatora i znaku nowego wiersza 61

    Usunięcie białych znaków 62

    Unikanie błędów składni w ciągach tekstowych 63

  • Liczby 65

    Liczby całkowite 66

    Liczby zmiennoprzecinkowe 66

    Liczby całkowite i zmiennoprzecinkowe 67

    Znaki podkreślenia w liczbach 68

    Wiele przypisań 68

    Stałe 68

  • Komentarze 69

    Jak można utworzyć komentarz? 69

    Jakiego rodzaju komentarze należy tworzyć? 70

  • Zen Pythona 70
  • Podsumowanie 72

3. Wprowadzenie do list 73

  • Czym jest lista? 73

    Uzyskanie dostępu do elementów listy 74

    Numeracja indeksu zaczyna się od 0, a nie od 1 75

    Użycie poszczególnych wartości listy 75

  • Zmienianie, dodawanie i usuwanie elementów 76

    Modyfikowanie elementów na liście 76

    Dodawanie elementów do listy 77

    Usuwanie elementu z listy 79

  • Organizacja listy 84

    Trwałe sortowanie listy za pomocą metody sort() 84

    Tymczasowe sortowanie listy za pomocą funkcji sorted() 85

    Wyświetlanie listy w odwrotnej kolejności alfabetycznej 86

    Określenie wielkości listy 86

  • Unikanie błędów indeksu podczas pracy z listą 88
  • Podsumowanie 89

4. Praca z listą 91

  • Iteracja przez całą listę 91

    Dokładniejsza analiza pętli 92

    Wykonanie większej liczby zadań w pętli for 93

    Wykonywanie operacji po pętli for 95

  • Unikanie błędów związanych z wcięciami 96

    Brak wcięcia 96

    Brak wcięcia dodatkowych wierszy 97

    Niepotrzebne wcięcie 97

    Niepotrzebne wcięcie po pętli 98

    Brak dwukropka 99

  • Tworzenie list liczbowych 100

    Użycie funkcji range() 100

    Użycie funkcji range() do utworzenia listy liczb 101

    Proste dane statystyczne dotyczące listy liczb 103

    Lista składana 103

  • Praca z fragmentami listy 105

    Wycinek listy 105

    Iteracja przez wycinek 107

    Kopiowanie listy 107

  • Krotka 110

    Definiowanie krotki 111

    Iteracja przez wszystkie wartości krotki 112

    Nadpisanie krotki 112

  • Styl tworzonego kodu 113

    Konwencje stylu 114

    Wcięcia 114

    Długość wiersza 114

    Puste wiersze 115

    Inne specyfikacje stylu 115

  • Podsumowanie 116

5. Konstrukcja if 117

  • Prosty przykład 117
  • Test warunkowy 118

    Sprawdzenie równości 118

    Ignorowanie wielkości liter podczas sprawdzania równości 119

    Sprawdzenie nierówności 120

    Porównania liczbowe 121

    Sprawdzanie wielu warunków 122

    Sprawdzanie, czy wartość znajduje się na liście 123

    Sprawdzanie, czy wartość nie znajduje się na liście 124

    Wyrażenie boolowskie 124

  • Polecenie if 125

    Proste polecenia if 125

    Polecenia if-else 127

    Łańcuch if-elif-else 127

    Użycie wielu bloków elif 129

    Pominięcie bloku else 130

    Sprawdzanie wielu warunków 130

  • Używanie poleceń if z listami 134

    Sprawdzanie pod kątem wartości specjalnych 134

    Sprawdzanie, czy lista nie jest pusta 135

    Użycie wielu list 136

  • Nadawanie stylu poleceniom if 138
  • Podsumowanie 139

6. Słowniki 141

  • Prosty słownik 142
  • Praca ze słownikami 142

    Uzyskiwanie dostępu do wartości słownika 143

    Dodanie nowej pary klucz-wartość 144

    Rozpoczęcie pracy od pustego słownika 145

    Modyfikowanie wartości słownika 145

    Usuwanie pary klucz-wartość 147

    Słownik podobnych obiektów 147

    Używanie metody get() w celu uzyskania dostępu do wartości 149

  • Iteracja przez słownik 151

    Iteracja przez wszystkie pary klucz-wartość 151

    Iteracja przez wszystkie klucze słownika 153

    Iteracja przez uporządkowane klucze słownika 155

    Iteracja przez wszystkie wartości słownika 156

  • Zagnieżdżanie 158

    Lista słowników 158

    Lista w słowniku 161

    Słownik w słowniku 164

  • Podsumowanie 166

7. Dane wejściowe użytkownika i pętla while 167

  • Jak działa funkcja input()? 168

    Przygotowanie jasnych i zrozumiałych komunikatów 169

    Użycie funkcji int() do akceptowania liczbowych danych wejściowych 170

    Operator modulo 171

  • Wprowadzenie do pętli while 173

    Pętla while w działaniu 173

    Umożliwienie użytkownikowi podjęcia decyzji o zakończeniu działania programu 174

    Użycie flagi 175

    Użycie polecenia break do opuszczenia pętli 177

    Użycie polecenia continue w pętli 178

    Unikanie pętli działającej w nieskończoność 178

  • Użycie pętli while wraz z listami i słownikami 180

    Przenoszenie elementów z jednej listy na drugą 180

    Usuwanie z listy wszystkich egzemplarzy określonej wartości 182

    Umieszczenie w słowniku danych wejściowych wprowadzonych przez użytkownika 182

  • Podsumowanie 184

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 194

    Zwrot prostej wartości 195

    Definiowanie argumentu jako opcjonalnego 196

    Zwrot słownika 197

    Używanie funkcji wraz z pętlą while 198

  • Przekazywanie listy 201

    Modyfikowanie listy w funkcji 201

    Uniemożliwianie modyfikowania listy przez funkcję 204

  • 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 210

    Import całego modułu 210

    Import określonych funkcji 211

    Użycie słowa kluczowego as w celu zdefiniowania aliasu funkcji 212

    Użycie słowa kluczowego as w celu zdefiniowania aliasu modułu 212

    Import wszystkich funkcji modułu 213

  • Nadawanie stylu funkcjom 214
  • Podsumowanie 215

9. Klasy 217

  • Utworzenie i użycie klasy 218

    Utworzenie klasy Dog 218

    Utworzenie egzemplarza na podstawie klasy 220

  • Praca z klasami i egzemplarzami 223

    Klasa Car 223

    Przypisanie atrybutowi wartości domyślnej 224

    Modyfikacja wartości atrybutu 225

  • Dziedziczenie 229

    Metoda __init__() w klasie potomnej 229

    Definiowanie atrybutów i metod dla klasy potomnej 231

    Nadpisywanie metod klasy nadrzędnej 232

    Egzemplarz jako atrybut 233

    Modelowanie rzeczywistych obiektów 236

  • Import klas 236

    Import pojedynczej klasy 236

    Przechowywanie wielu klas w module 239

    Import wielu klas z modułu 240

    Import całego modułu 241

    Import wszystkich klas z modułu 242

    Import modułu w module 242

    Używanie aliasów 243

    Określenie swojego sposobu pracy 244

  • Biblioteka standardowa Pythona 245
  • Nadawanie stylu klasom 245
  • Podsumowanie 247

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 256

    Czy data Twoich urodzin znajduje się w liczbie pi? 257

  • Zapisywanie danych w pliku 259

    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 263

    Blok else 264

    Obsługa wyjątku FileNotFoundError 266

    Analiza tekstu 267

    Praca z wieloma plikami 268

    Ciche niepowodzenie 270

    Które błędy należy zgłaszać? 271

  • Przechowywanie danych 272

    Używanie json.dump() i json.load() 273

    Zapisywanie i odczytywanie danych wygenerowanych przez użytkownika 274

    Refaktoryzacja 276

  • 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 287

    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 301

12. Statek, który strzela pociskami 303

  • Planowanie projektu 304
  • Instalacja Pygame 304
  • Rozpoczęcie pracy nad projektem gry 305

    Utworzenie okna Pygame i reagowanie na działania użytkownika 305

    Zdefiniowanie koloru tła 307

    Utworzenie klasy ustawień 308

  • Dodanie obrazu statku kosmicznego 309

    Utworzenie klasy statku kosmicznego 310

    Wyświetlenie statku kosmicznego na ekranie 312

  • Refaktoryzacja, czyli metody _check_events() i _update_screen() 314

    Metoda _check_events() 314

    Metoda _update_screen() 315

  • Kierowanie statkiem kosmicznym 316

    Reakcja na naciśnięcie klawisza 316

    Umożliwienie nieustannego ruchu 316

    Poruszanie statkiem w obu kierunkach 318

    Dostosowanie szybkości statku 320

    Ograniczenie zasięgu poruszania się statku 322

    Refaktoryzacja metody _check_events() 323

    Naciśnięcie klawisza Q w celu zakończenia gry 323

    Uruchamianie gry w trybie pełnoekranowym 324

  • Krótkie powtórzenie 325

    alien_invasion.py 325

    settings.py 325

    ship.py 325

  • Wystrzeliwanie pocisków 326

    Dodawanie ustawień dotyczących pocisków 326

    Utworzenie klasy Bullet 327

    Przechowywanie pocisków w grupie 328

    Wystrzeliwanie pocisków 329

    Usuwanie niewidocznych pocisków 330

    Ograniczenie liczby pocisków 332

    Utworzenie metody _update_bullets() 333

  • Podsumowanie 334

13. Obcy! 335

  • Przegląd projektu 336
  • Utworzenie pierwszego obcego 336

    Utworzenie klasy Alien 337

    Utworzenie egzemplarza obcego 338

  • Utworzenie floty obcych 339

    Ustalenie maksymalnej liczby obcych wyświetlanych w jednym rzędzie 340

    Utworzenie rzędów obcych 341

    Refaktoryzacja metody _create_fleet() 342

    Dodawanie rzędów 343

  • Poruszanie flotą obcych 345

    Przesunięcie obcych w prawo 346

    Zdefiniowanie ustawień dla kierunku poruszania się floty 347

    Sprawdzenie, czy obcy dotarł do krawędzi ekranu 348

    Przesunięcie floty w dół i zmiana kierunku 349

  • Zestrzeliwanie obcych 350

    Wykrywanie kolizji z pociskiem 350

    Utworzenie większych pocisków w celach testowych 351

    Ponowne utworzenie floty 353

    Zwiększenie szybkości pocisku 353

    Refaktoryzacja metody _update_bullets() 354

  • Zakończenie gry 355

    Wykrywanie kolizji między obcym i statkiem 355

    Reakcja na kolizję między obcym i statkiem 356

    Obcy, który dociera do dolnej krawędzi ekranu 359

    Koniec gry! 360

    Ustalenie, które komponenty gry powinny być uruchomione 361

  • Podsumowanie 362

14. Punktacja 363

  • Dodanie przycisku Gra 363

    Utworzenie klasy Button 364

    Wyświetlenie przycisku na ekranie 366

    Uruchomienie gry 367

    Zerowanie gry 368

    Dezaktywacja przycisku Gra 369

    Ukrycie kursora myszy 369

  • Zmiana poziomu trudności 371

    Zmiana ustawień dotyczących szybkości 371

    Wyzerowanie szybkości 373

  • Punktacja 373

    Wyświetlanie punktacji 374

    Utworzenie tablicy wyników 375

    Uaktualnienie punktacji po zestrzeleniu obcego 377

    Zerowanie wyniku 378

    Zagwarantowanie uwzględnienia wszystkich trafień 378

    Zwiększenie liczby zdobywanych punktów 379

    Zaokrąglanie punktacji 380

    Najlepsze wyniki 381

    Wyświetlenie aktualnego poziomu gry 384

    Wyświetlenie liczby statków 387

  • Podsumowanie 390

PROJEKT 2. WIZUALIZACJA DANYCH 391

15. Generowanie danych 393

  • Instalacja matplotlib 394
  • Wygenerowanie prostego wykresu liniowego 395

    Zmienianie etykiety i grubości wykresu 395

    Poprawianie wykresu 397

    Używanie wbudowanych stylów 398

    Używanie funkcji scatter() do wyświetlania poszczególnych punktów i nadawania im stylu 400

    Wyświetlanie serii punktów za pomocą funkcji scatter() 401

    Automatyczne obliczanie danych 402

    Definiowanie własnych kolorów 403

    Użycie mapy kolorów 404

    Automatyczny zapis wykresu 404

  • Błądzenie losowe 405

    Utworzenie klasy RandomWalk 406

    Wybór kierunku 407

    Wyświetlenie wykresu błądzenia losowego 408

    Wygenerowanie wielu błądzeń losowych 408

    Nadawanie stylu danym wygenerowanym przez błądzenie losowe 410

  • Symulacja rzutu kością do gry za pomocą plotly 415

    Instalacja plotly 416

    Utworzenie klasy Die 416

    Rzut kością do gry 417

    Analiza wyników 417

    Utworzenie histogramu 418

    Rzut dwiema kośćmi 420

    Rzut kośćmi o różnej liczbie ścianek 422

  • Podsumowanie 424

16. Pobieranie danych 425

  • Format CSV 426

    Przetwarzanie nagłówków pliku CSV 426

    Wyświetlanie nagłówków i ich położenia 427

    Wyodrębnienie i odczytanie danych 428

    Wyświetlenie danych na wykresie temperatury 429

    Moduł datetime 430

    Wyświetlanie daty 431

    Wyświetlenie dłuższego przedziału czasu 432

    Wyświetlenie drugiej serii danych 433

    Nakładanie cienia na wykresie 435

    Sprawdzenie pod kątem błędów 436

    Samodzielne pobieranie danych 440

  • Mapowanie globalnych zbiorów danych - format JSON 441

    Pobranie danych dotyczących trzęsień ziemi 442

    Analiza danych JSON 442

    Utworzenie listy trzęsień ziemi 445

    Wyodrębnienie siły trzęsienia ziemi 445

    Wyodrębnienie danych o miejscu wystąpienia trzęsienia ziemi 446

    Budowanie mapy świata 447

    Inny sposób określenia danych wykresu 448

    Dostosowanie wielkości punktu 449

    Dostosowanie koloru punktu 450

    Inne skale kolorów 452

    Dodanie tekstu wyświetlanego po wskazniu punktu na mapie 452

  • Podsumowanie 454

17. Praca z API 455

  • Użycie Web API 455

    Git i GitHub 456

    Żądanie danych za pomocą wywołania API 456

    Instalacja requests 457

    Przetworzenie odpowiedzi API 458

    Praca ze słownikiem odpowiedzi 459

    Podsumowanie repozytoriów najczęściej oznaczanych gwiazdką 461

    Monitorowanie ograniczeń liczby wywołań API 463

  • Wizualizacja repozytoriów za pomocą pakietu plotly 463

    Dopracowanie wykresów generowanych przez plotly 465

    Dodanie własnych podpowiedzi 467

    Dodawanie łączy do wykresu 469

    Więcej o plotly i API GitHub 470

  • Hacker News API 470
  • Podsumowanie 475

PROJEKT 3. APLIKACJE INTERNETOWE 477

18. Rozpoczęcie pracy z Django 479

  • Przygotowanie projektu 480

    Opracowanie specyfikacji 480

    Utworzenie środowiska wirtualnego 480

    Aktywacja środowiska wirtualnego 481

    Instalacja frameworka Django 481

    Utworzenie projektu w Django 482

    Utworzenie bazy danych 483

    Przegląd projektu 484

  • Uruchomienie aplikacji 485

    Definiowanie modeli 486

    Aktywacja modeli 487

    Witryna administracyjna Django 489

    Zdefiniowanie modelu Entry 492

    Migracja modelu Entry 493

    Rejestracja modelu Entry w witrynie administracyjnej 494

    Powłoka Django 495

  • Tworzenie stron internetowych - strona główna aplikacji 496

    Mapowanie adresu URL 498

    Utworzenie widoku 500

    Utworzenie szablonu 500

  • Utworzenie dodatkowych stron 502

    Dziedziczenie szablonu 502

    Strona tematów 505

    Strony poszczególnych tematów 508

  • Podsumowanie 512

19. Konta użytkowników 513

  • Umożliwienie użytkownikom wprowadzania danych 514

    Dodawanie nowego tematu 514

    Dodawanie nowych wpisów 518

    Edycja wpisu 523

  • Konfiguracja kont użytkowników 527

    Aplikacja users 527

    Strona logowania 528

    Wylogowanie 531

    Strona rejestracji użytkownika 532

  • Umożliwienie użytkownikom bycia właścicielami swoich danych 536

    Ograniczenie dostępu za pomocą dekoratora @login_required 536

    Powiązanie danych z określonymi użytkownikami 538

    Przyznanie dostępu jedynie odpowiednim użytkownikom 541

    Ochrona tematów użytkownika 542

    Ochrona strony edit_entry 543

    Powiązanie nowego tematu z bieżącym użytkownikiem 544

  • Podsumowanie 545

20. Nadanie stylu i wdrożenie aplikacji 547

  • Nadanie stylu aplikacji Learning Log 548

    Aplikacja django-bootstrap4 548

    Użycie Bootstrapa do nadania stylu aplikacji Learning Log 549

    Modyfikacja pliku base.html 549

    Użycie elementu Jumbotron do nadania stylu stronie głównej 554

    Nadanie stylu stronie logowania 556

    Nadanie stylu stronie tematów 557

    Nadanie stylów wpisom na stronie tematu 558

  • Wdrożenie aplikacji Learning Log 560

    Utworzenie konta w Heroku 560

    Instalacja Heroku CLI 560

    Instalacja wymaganych pakietów 560

    Utworzenie listy pakietów w pliku requirements.txt 561

    Określenie środowiska uruchomieniowego Pythona 562

    Modyfikacja pliku settings.py dla Heroku 562

    Utworzenie pliku Procfie do uruchomienia procesu 563

    Użycie Gita do monitorowania plików projektu 563

    Przekazanie projektu do Heroku 566

    Konfiguracja bazy danych w Heroku 567

    Dopracowanie wdrożenia projektu w Heroku 568

    Zabezpieczenie wdrożonego projektu 570

    Zatwierdzenie zmian i przekazanie ich do serwera 571

    Zdefiniowanie zmiennej środowiskowej w Heroku 572

    Utworzenie własnych stron błędu 573

    Nieustanna rozbudowa 576

    Opcja SECRET_KEY 577

    Usunięcie projektu z Heroku 577

  • Podsumowanie 578

Posłowie 581

A. Instalacja Pythona i rozwiązywanie problemów 583

  • Python w Windows 583

    Odszukanie interpretera Pythona 584

    Dodanie Pythona do zmiennej Path 584

    Ponowna instalacja Pythona 585

  • Python w systemie macOS 585

    Instalacja Homebrew 586

    Instalacja Pythona 586

  • Python w systemie Linux 587
  • Słowa kluczowe Pythona i wbudowane funkcje 587

    Słowa kluczowe Pythona 588

    Wbudowane funkcje Pythona 588

B. Edytory tekstu i środowiska IDE 589

  • Dostosowanie ustawień edytora Sublime Text 590

    Konwersja tabulatorów na spacje 590

    Ustawianie wskaźnika długości linii 590

    Wcięcia i brak wcięć bloków kodu 591

    Umieszczenie bloku kodu w komentarzu 591

    Zapisywanie konfiguracji edytora Sublime Text 591

    Dalsze konfigurowanie edytora Sublime Text 592

  • Inne edytory tekstu i środowiska IDE 592

    IDLE 592

    Geany 592

    Emacs i vim 592

    Atom 593

    Visual Studio Code 593

    PyCharm 593

C. Uzyskiwanie pomocy 595

  • Pierwsze kroki 595

    Spróbuj jeszcze raz 596

    Chwila odpoczynku 596

    Korzystaj z zasobów tej książki 597

  • Wyszukiwanie informacji w internecie 597

    Stack Overflow 597

    Oficjalna dokumentacja Pythona 598

    Oficjalna dokumentacja biblioteki 598

    r/learnpython 598

    Posty na blogach 598

  • Kanały IRC 599

    Założenie konta na kanale IRC 599

    Kanały, do których warto się przyłączyć 599

    Kultura na kanale IRC 600

  • Slack 600
  • Discord 600

D. Używanie Gita do kontroli wersji 603

  • Instalacja Gita 604

    Instalacja Gita w systemie Windows 604

    Instalacja Gita w systemie macOS 604

    Instalacja Gita w systemie Linux 604

    Konfiguracja Gita 604

  • Tworzenie projektu 605
  • Ignorowanie plików 605
  • Inicjalizacja repozytorium 606
  • Sprawdzanie stanu 606
  • Dodawanie plików do repozytorium 607
  • Zatwierdzanie plików 607
  • Sprawdzanie dziennika projektu 608

Гарантии

  • Гарантии

    Мы работаем по договору оферты и предоставляем все необходимые документы.

  • Лёгкий возврат

    Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.

  • Безопасная оплата

    Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.

Отзывы о товаре

Рейтинг товара 5 / 5

17 отзывов

Russian English Polish