1 Introduktion 13
1.1 Exempel och stilar i boken 16
1.2 Andra utgåvan 17
2 Vad är programmering? 19
2.1 Är programmering svårt och måste jag kunna matte? 19
2.2 Att lösa problem 22
2.3 Hur lär jag mig bäst? 23
3 Scratch 25
3.1 Kom igång med Scratch 26
3.2 Grundläggande koncept 27
3.3 Övningsuppgifter 37
4 En kort introduktion till datorn 39
4.1 Binärdata och ASCII-data 41
4.1.1 ASCII 42
4.2 Bitar och bytes 43
4.3 Övningsuppgifter 44
5 Dags för Python! 47
5.1 Installera Python i Windows 48
5.2 Installera Python i Linux 49
5.2.1 Debian och Ubuntu 50
5.2.2 Red Hat, CentOS och Fedora 51
5.3 Installera Python i macOS 51
5.4 IDLE 53
5.5 Två sätt att använda Python 54
5.6 Hitta hjälp och dokumentation 56
5.7 Övningsuppgifter 57
6 Datatyper och variabler 59
6.1 Tilldelning av variabler 61
6.2 Variabelnamn 62
6.3 Heltal och flyttal 63
6.3.1 Aritmetik 63
6.4 Strängar 66
6.4.1 Inbyggda metoder för strängar 69
6.4.1.1 Hitta fler metoder 71
6.4.2 Funktioner och operatorer för strängar 73
6.5 Listor 75
6.6 Tupletter 80
6.7 Ordlistor, strängindexerade listor 81
6.8 Övningsuppgifter 85
6.8.1 Aritmetik 85
6.8.2 Strängar 86
6.8.3 Listor 86
6.8.4 Ordlistor 87
7 Loopar & villkor 89
7.1 Spara kod i filer och köra programmen 90
7.1.1 shebang 93
7.2 Jämförelseoperatorer 94
7.3 Villkorssatser 94
7.3.1 Inte sant 101
7.3.2 AND och OR 102
7.4 In- och utdata 104
7.5 Övningar med villkor & jämförelser 108
7.6 Loopar 110
7.6.1 for-loopen 110
7.6.1.1 Loopa igenom ordlistor 116
7.6.2 while-loopen 118
7.6.3 break & continue 122
7.7 Övningar med loopar 125
8 Filhantering och felhantering 129
8.1 Filhantering 130
8.1.1 Läsa och skriva text till filer 130
8.1.1.1 Ett första exempel 131
8.1.2 Alice i Underlandet 133
8.1.3 read och readline 142
8.1.4 Lägga till text 143
8.1.5 Spara dina variabler 145
8.2 Felhantering 148
8.2.1 Traceback 148
8.2.2 Fånga upp fel med try / except 149
8.3 Övningsuppgifter 155
9 Funktioner 157
9.1 Exempel på funktioner 158
9.2 Nyckelord till funktioner 162
9.3 Scope 164
9.3.1 Modifiera globala variabler 168
9.4 Standardvärden 169
9.5 Lambda 170
9.6 Dokumentera funktioner 173
9.7 Moduler 176
9.8 Övningsuppgifter 178
10 Standardbiblioteket 181
10.1 Datum och klockslag 182
10.2 Matematik 184
10.2.1 Största gemensamma delaren 184
10.2.2 Är talen nära varandra? 186
10.2.3 Avrunda uppåt och nedåt 186
10.2.4 Absoluta värden 187
10.2.5 Roten ur och logaritmer 187
10.3 Arbeta med ZIP-filer 188
10.4 Operativsystemet 189
10.4.1 os 190
10.4.2 UNIX- och Windows-specifika moduler 191
10.4.2.1 syslog 191
10.4.2.2 winreg 192
10.5 Läsa in data från internet 192
11 Objektorienterad programmering 195
11.1 Husdjur som exempel 197
11.2 Kort om arv 201
12 Knyta samman säcken, ett sista projekt 205
12.1 Bygga ut koden 212
13 Fortsatta äventyr 217