1 Introduktion 13 1.1 Exempel och stilar i boken 16 1.2 Ladda ner kodexemplen från boken 17 1.3 Andra utgåvan 18 1.4 Tredje utgåvan 18 2 Vad är programmering? 19 2.1 Är programmering svårt och måste jag kunna matte? 20 2.2 Att lösa problem 23 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 28 3.3 Övningsuppgifter 38 4 En kort introduktion till datorn 41 4.1 Binärdata och ASCII-data 43 4.1.1 ASCII 44 4.2 Bitar och bytes 45 4.3 Övningsuppgifter 46 5 Dags för Python! 49 5.1 Installera Python i Windows 49 5.2 Installera Python i Linux 50 5.2.1 Debian och Ubuntu 51 5.2.2 Red Hat, CentOS och Fedora 51 5.3 Installera Python i macOS 52 5.4 IDLE 52 5.5 Två sätt att använda Python 54 5.6 Hitta hjälp och dokumentation 56 5.7 Övningsuppgifter 56 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.3.2 Omvandling mellan flyttal och helta 66 6.4 Strängar 67 6.4.1 Inbyggda metoder för strängar 70 6.4.1.1 Hitta fler metoder 72 6.4.2 Funktioner och operatorer för strängar 74 6.5 Listor 75 6.6 Tupletter 80 6.7 Ordlistor, strängindexerade listor 81 6.8 Övningsuppgifter 84 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 92 7.2 Jämförelseoperatorer 94 7.3 Villkorssatser 95 7.3.1 If 95 7.3.1.1 Inte sant 102 7.3.1.2 AND och OR 103 7.3.2 Match 105 7.4 In- och utdata 107 7.5 Övningar med villkor & jämförelser 112 7.6 Loopar 113 7.6.1 for-loopen 114 7.6.1.1 Loopa igenom ordlistor 119 7.6.2 while-loopen 121 7.6.3 break & continue 125 7.7 Övningar med loopar 128 8 Filhantering och felhantering 131 8.1 Filhantering 132 8.1.1 Läsa och skriva text till filer 132 8.1.1.1 Ett första exempel 133 8.1.2 Alice i Underlandet 135 8.1.3 read och readline 143 8.1.4 Lägga till text 145 8.1.5 Spara dina variabler 146 8.2 Några ord om olika exit-funktioner 149 8.3 Felhantering 151 8.3.1 Traceback 152 8.3.2 Fånga upp fel med try / except 153 8.3.2.1 Finally 159 8.4 Övningsuppgifter 164 9 Funktioner 167 9.1 Exempel på funktioner 168 9.2 Nyckelord till funktioner 171 9.3 Omfång 174 9.3.1 Modifiera globala variabler 178 9.4 Standardvärden 179 9.5 Lambda 180 9.6 Dokumentera funktioner 183 9.7 Moduler 185 9.8 Övningsuppgifter 189 10 Standardbiblioteket 191 10.1 Datum och klockslag 192 10.2 Matematik 195 10.2.1 Största gemensamma delaren 195 10.2.2 Är talen nära varandra? 196 10.2.3 Avrunda uppåt och nedåt 197 10.2.4 Absoluta värden 198 10.2.5 Roten ur och logaritmer 198 10.3 Arbeta med ZIP-filer 199 10.4 Operativsystemet 200 10.4.1 os 201 10.4.2 Unix- och Windows-specifika moduler 202 10.4.2.1 syslog 202 10.4.2.2 winreg 203 10.5 Signalhantering 203 10.6 Läsa in data från internet 205 10.7 Övningsuppgifter 207 11 Objektorienterad programmering 209 11.1 Husdjur som exempel 211 11.2 Kort om arv 215 12 Knyta samman säcken, ett sista projekt 219 12.1 Bygga ut koden 226 13 Fortsatta äventyr 231 13.1 Några ord om AI-verktyg 233