Kom i gang med Python

Når vi skal programmere i Python, trenger vi et utviklingsmiljø å arbeide i. Et utviklingsmiljø for dataprogrammer kalles gjerne et IDE, noe som står for Integrated Development Environment, og er et verktøy som lar oss skrive, organisere og kjøre programkode.

Det finnes en mengde IDE-er for Python. Noen er gratis, andre koster litt. I dette emnet kommer vi til å bruke Thonny, som er en gratis Python IDE for nybegynnere. Thonny finnes både for Windows, Mac og Linux, men ikke for Chromebook. Mer drevne programmerere velger gjerne andre IDE-er, for eksempel PyCharm eller Spyder. Disse verktøyene har mer funksjonalitet, men også en høyere terskel for å komme i gang, og det er lett å rote seg bort i detaljer som er uten betydning.

For å installere Thonny går du til https://thonny.org/ og laster ned den varianten som passer for din datamaskin, avhengig om du kjører Windows, Mac eller Linux. Så fullfører du installasjonen på den måten som er vanlig på din datamaskin. Det kan være smart å huke av for «Create desktop icon».

Når installasjonen er ferdig, starter du Thonny ved å klikke på dette ikonet.
Ikon for å kjøre Thonny

Når Thonny starter, ser IDE-et om lag slik ut:

Thonny IDE

Det kan være at det vises flere felt, disse kan fjernes ved å ta bort avhukingen i «Vis»-menyen. For å se kommandofeltet må det være huket av for «Shell» i «Vis»-menyen.

Det går an å dra i ramma mellom felt for å gjøre et felt større eller mindre.

I kommandofeltet kan vi skrive og kjøre Python-kommandoer. Tegnene >>> som vises, kalles et prompt, og indikerer at Thonny er klar til å ta imot kommandoer.

Det er tradisjon at det første en gjør når en tar i bruk et nytt programmeringsverktøy, er å skrive ut hilsenen Hello, world! Dette fungerer som en test på at på at IDE-et er i orden, og skal visstnok også bringe hell og lykke.

I Python bruker vi funksjonen print() til utskrift. Skriver vi print("Hallo, verden!") etterfulgt av et trykk på linjeskifttasten (CR) i kommandofeltet, svarer Python Hallo, verden! og viser tegnene >>> på nytt på en ny linje. Prøv! Vær oppmerksom på at teksten vi skal skrive ut må stå mellom anførselstegn. En slik tekst vil vi fra nå av kalle en streng

Gjør vi feil, for eksempel ved å skrive print(Hallo, verden!) uten anførselstegn, gir Python en feilmelding med rød skrift:

Eksempel på syntaksfeil i Python

En feilmelding er ikke verdens undergang, men informasjon om hva som må rettes. Her sier Python at vi har en syntaksfeil, noe som betyr at vi har skrevet noe som ikke er i tråd med grammatikkreglene i Python, nemlig en tekst uten anførselstegn.

Når vi skal skrive Python-kode som består av flere linjer, vil det være lite praktisk å bruke kommandofeltet. Da tar vi i stedet i bruk editoren, der vi kan skrive inn så mange linjer vi vil. Vi kan også lagre innholdet i egne filer, som vi kan hente fram igjen senere.

For å kjøre, det vil si aktivere, Python-koden som er i editoren, er det enkleste å klikke på den lille, grønne pila i menyen. Dette er illustrert i figuren under, der vi har lagret koden i ei fil som heter hallo.py. Suffikset py betyr at det dreier seg om ei fil med Python-kode.

Kode i editor

Her ser vi at Thonny bruker fargekoding til å hjelpe oss. print blir farget lilla fordi det er en Python-funksjon, og de tilhørende parentesene blir blå. Teksten Hallo, verden! blir farget grønn fordi det er en streng. Hvis vi skriver noe feil, vil vi kunne se det på fargekodingen.

I linje 1 i bildet under er ikke Hallo, verden! grønn fordi vi har glemt å bruke anførselstegn. I linje 3 er ikke prin lilla fordi det er en feilskriving som ikke er en Python-funksjon. I linje 5 har vi fått en grønn bakgrunnsfarge fordi vi har glemt å avslutte strengen med anførselstegn.

Syntaksfeil

Når det gjelder å lagre filer, kan det allerede fra starten av være lurt å opprette ei mappe der det passer deg å ha Python-filene dine, og lagre der, ikke bare lagre der Python foreslår.

Filnavn bør være korte og beskrivende. Vi bør bare bruke små bokstaver i filnavn, og helst bare bokstaver fra a-z, det vil si unngå nasjonale bokstaver som æ, ø og å. Dette er ikke noe absolutt krav, men en anbefaling i Pythons stilguide, som heter PEP 8.

Oppgave 1:

Legg inn Python-kode som skriver ut strengen Heisan, alle!, i editoren. Lag ei mappe der du vil ha Python-filene dine, og lagre koden der med et velvalgt filnavn. Kjør deretter koden, og sjekk at Heisan, alle! dukker opp i kommandofeltet.

Se løsningsforslag

Vi kan gjøre regneoperasjoner direkte i kommandofeltet, for eksempel ved å skrive 2 + 2, men vi kan også legge operasjonene inn i editoren. Da må vi imidlertid bruke print() for å få noe ut. For eksempel vil

print(2 + 2)

gi svaret 4 i kommandofeltet når vi aktiverer koden ved å klikke på den grønne pila i menyen: Pil-ikon

Vi kan hente fram tidligere kommandoer i kommandofeltet ved å trykke pil-opp. Allikevel er det tungvint å arbeide direkte der, og når vi kommer i gang med å skrive kode som går over flere linjer, vil det være helt håpløst. Vi kommer derfor i alle eksempler og løsningsforslag til å bruke editoren. For ting som vi bare skal teste ut og ikke ta vare på til senere kan det være en idé å lagre til ei fil som heter kladd eller test eller noe sånt, som vi bare overskriver etter hvert.

Vi kan ha mange filer åpne i editoren samtidig, på samme måte som vi kan ha flere faner åpne i en nettleser, og klikke oss fram og tilbake mellom dem. I bildet under er filene hallo.py, ordstjernen.py, diofant.py og test.py åpne.

Flere filer åpne i editor

I tillegg til editoren og kommandofeltet kan det være lurt å ha assistentfeltet synlig. («Vis» – «Assistent»). I assistentfeltet gir Thonny en fortløpende vurdering av koden vår, og tipser om feil og svakheter, for eksempel slik, når vi har skrevet prin i stedet for print:

Assistentfelt

Når vi prøver å kjøre kode med feil, åpnes assistentfeltet automatisk.

Python er et mye brukt programmeringsspråk, og det finnes følgelig mye hjelp å hente ved å google på nettet. Her er et par eksempler på ressurser:

W3 Schools Python-kurs

Pythons referansesider

Kilder

    • Matthes A. (2019). Python Crash Course. no starch press