1. Att stilla din aptit

Om du arbetar mycket med datorer kommer du så småningom att upptäcka att det finns någon uppgift som du skulle vilja automatisera. Du kanske till exempel vill söka och ersätta ett stort antal textfiler, eller byta namn på och ordna om ett antal fotofiler på ett komplicerat sätt. Du kanske vill skriva en liten anpassad databas, en specialiserad GUI-applikation eller ett enkelt spel.

Om du är en professionell programvaruutvecklare kanske du måste arbeta med flera C/C++/Java-bibliotek men tycker att den vanliga skriv/kompilera/testa/re-kompilera-cykeln är för långsam. Kanske skriver du en testsvit för ett sådant bibliotek och tycker att det är en tråkig uppgift att skriva testkoden. Eller så har du kanske skrivit ett program som kan använda ett tilläggsspråk, men du vill inte designa och implementera ett helt nytt språk för din applikation.

Python är precis rätt språk för dig.

Du kan skriva ett Unix-skalskript eller Windows-batchfiler för några av dessa uppgifter, men skalskript är bäst på att flytta runt filer och ändra textdata, och passar inte så bra för GUI-applikationer eller spel. Du kan skriva ett C/C++/Java-program, men det kan ta mycket utvecklingstid att ens få ett första utkast till ett program. Python är enklare att använda, finns på operativsystemen Windows, macOS och Unix och hjälper dig att få jobbet gjort snabbare.

Python är enkelt att använda, men det är ett riktigt programmeringsspråk som erbjuder mycket mer struktur och stöd för stora program än vad skalskript eller batchfiler kan erbjuda. Å andra sidan erbjuder Python också mycket mer felkontroll än C, och eftersom det är ett mycket högnivåspråk har det inbyggda datatyper på hög nivå, till exempel flexibla arrayer och dictionaries. På grund av sina mer allmänna datatyper är Python tillämpligt på en mycket större problemdomän än Awk eller till och med Perl, men många saker är minst lika enkla i Python som i dessa språk.

Med Python kan du dela upp ditt program i moduler som kan återanvändas i andra Python-program. Det levereras med en stor samling standardmoduler som du kan använda som grund för dina program — eller som exempel för att börja lära dig att programmera i Python. Några av dessa moduler tillhandahåller saker som fil-I/O, systemanrop, sockets och till och med gränssnitt till verktyg för grafiska användargränssnitt som Tk.

Python är ett tolkat språk, vilket kan spara mycket tid under programutvecklingen eftersom ingen kompilering och länkning behövs. Tolken kan användas interaktivt, vilket gör det enkelt att experimentera med språkets funktioner, skriva program för att kasta bort eller testa funktioner under programutveckling nedifrån och upp. Det är också en praktisk skrivbordsräknare.

Python gör det möjligt att skriva kompakta och läsbara program. Program skrivna i Python är vanligtvis mycket kortare än motsvarande C-, C++- eller Java-program, av flera skäl:

  • datatyperna på hög nivå gör att du kan uttrycka komplexa operationer i en enda sats;

  • gruppering av uttalanden sker genom indragning i stället för genom start- och slutparenteser;

  • inga variabel- eller argumentdeklarationer är nödvändiga.

Python är utvidgningsbart: om du kan programmera i C är det lätt att lägga till en ny inbyggd funktion eller modul i tolken, antingen för att utföra kritiska operationer med maximal hastighet eller för att länka Python-program till bibliotek som kanske bara finns tillgängliga i binär form (t.ex. ett leverantörsspecifikt grafikbibliotek). När du verkligen är fast kan du länka Python-tolken till en applikation skriven i C och använda den som ett tillägg eller kommandospråk för den applikationen.

Språket är förresten uppkallat efter BBC-serien ”Monty Python’s Flying Circus” och har inget med reptiler att göra. Att göra referenser till Monty Python-sketcher i dokumentationen är inte bara tillåtet, det uppmuntras!

Nu när du är helt upphetsad över Python vill du säkert undersöka det lite mer i detalj. Eftersom det bästa sättet att lära sig ett språk är att använda det, inbjuder handledningen dig att leka med Python-tolken medan du läser.

I nästa kapitel förklaras hur man använder tolken. Det är ganska vardaglig information, men den är viktig för att kunna prova de exempel som visas senare.

Resten av handledningen introducerar olika funktioner i Python-språket och systemet genom exempel, från enkla uttryck, satser och datatyper till funktioner och moduler, och slutligen berörs avancerade begrepp som undantag och användardefinierade klasser.