Python Introduksjon

Programmering er noe jeg personlig brukte mye tid å krefter på å komme i gang med. Som jeg skriver om i denne artikkelen er valg av programmerings språk ett av de vanskeligste valgene man står ovenfor som nybegynner.

I denne artikkelen skal jeg prøve å forklare hvorfor jeg mener at Python er et godt valg for nybegynnere, og gi en veldig kort introduksjon til hvordan man lettest kan komme i gang med Python programmering.

Nybegynnervennlig

Er ikke (alltid) det samme som primitivt eller dårlig

Det er ett hav av programmerings språk som er såkalt nybegynner vennlige. Etter min erfaring er syntax og variabel typer noe av det som gjør det tøft å komme i gang med programmering.

Syntax er regler for hvordan programmet skrives. Python har en syntax som er lett å huske, og som er forutsigbar. Er du helt ny innen programmering er det ikke nødvendigvis lett å lære seg å programmere uansett hvilket språk man begynner med. Men Python har en en syntax med relativt lite bruk av spesialtegn som {}, (), ; og [].

Bilde av en skolebenk

Photo by Scott Graham on Unsplash

Variabler er steder i datamaskinens minne man kan lagre enkel informasjon som tall - som for eksempel kan representerer lengden på strek, eller ett ord. Om en variabel inneholder ett tall eller ett ord er eksempler på to variabel typer. Dette er noe man må forholde seg til uansett hvilket programmerings språk man bruker. Fordelen med Python sammenlignet med andre programmerings språk er at man man helt i starten kan skrive mange programmer uten å måtte forholde seg så alt for mye til variabel typer. Om man klarer å huske forskjellen på tall og tekst kommer man langt.

Siden Python har en relativt enkel syntax å huske, og at man kan konsentrere seg om å skrive programmer uten måtte forholde seg til variabel typer er Python raskt å komme i gang med.

Etter hvert som man blir mer erfaren og starter å skrive mer kompliserte programmer kan man lære seg gradvis mer kompliserte tema. Men for å gjenta meg selv: Det er lite man trenger å kunne om programmering for å komme i gang med Python programmering sammenlignet med andre programmerings språk.

Utviklermiljø

Hvor man skriver og tester programmer

Alle som skriver programmer har bruk for ett utvikler miljø. Dette er kort forklart programmer som du bruker til å skrive programmer og teste de i.

Når du installer Python på datamaskinen din installerer du også Python IDLE (Integrated DeveLopment Environment). Dette er ett program som gjør at du kan skrive programmer i en tekst editor, som ligner mye på notepad i Windows, men som kan fargelegge syntax og gjøre det raskt å teste programmet du skriver.

Screenshot fra Python IDLE

Et skjermbilde fra Python IDLE, som demonstrerer syntax fargelegging

Det er ikke sikkert du klarer å skjønne hva som skjedde i kode snutten over men, du kan sikkert skjønne at mye lettere å lese syntax fargelagt kode en ensfarget kode. Både når man lærer seg å skrive Python og videre når man blir mer erfaren setter man pris på syntax fargelegging.

I tillegg til syntax fargelegging kan man i Python IDLE se linjenummer, dette er veldig nyttig i forbindelse med feilsøking. Når Python programmet krasjer, vil man få vite hvilken linje den krasjet på. Når man har linjenummeret i tekt editoren, er det veldig mye lettere å finne frem til rett linje og rette feilen.

For å teste programmet du jobber på trykker du på F5, så vil en terminal dukke opp og kjøre programmet ditt.

Skermbilde fra Python Shell

Et skjermbilde fra Python Shell, hvor programmet på forrige skjermbilde kjøres.

Skjermbildet over viser at programmet printer et dato stempel for når programmet ble kjørt, rett over de tre nederste pilene.

Verken syntax fargelegging eller en rask måte å kjøre programmet du har skrevet på er unikt for Python IDLE, det fine med Python IDLE er at man får dette inkludert når man installerer Python på datamaskinen.

Etter hvert som man blir mer erfaren og nysgjerrig på alternativene som finnes der ute kan man ta steget vider til populære utviklermiljø som Microsoft Visual Studio Code, eller Sublime Text. Men når man er helt i start gropa er det fint å kunne bruke noe som er enkelt og bare fungerer.

Plattform uavhengig

Windows, Linux og Mac

En av de kanskje største fordelene med Python er at det er helt plattform uavhengig. Skriver du ett Python skript på en Mac, vil det fungere like godt på en Windows eller Linux maskin.

Dette skyldes at det er ett script språk, som bruker en interpreter eller tolker. Med mindre du skriver programmer som skal bruke maskinvare eller operativspesifikke oppgaver som for eksempel styring av lysdioder på en RaspberryPi, kan Python koden kjøres overalt uten problemer.

Styrke i antall brukere

Community er viktig!

Det jeg personlig synes er det mest spennende og interessante med Python er at det er så utrolig mange andre som bruker det.

I realiteten vil det si at de aller fleste problemer jeg støter på, er det noen andre før meg som har støtt på, og spurt om hjelp med på forum, som reddit, og stack overflow. I tillegg er det utallige open source GitHub prosjekter og blogg innlegg som forklarer forskjellige problemer og løsninger. Men andre ord er det mye hjelp å få om man sliter.

Om man liker å lese bøker er det også ekstremt mange gode bøker om Python man kan kjøpe. Jo flere lærings resurser som finnes der ut jo lettere er det å lære noe.

Lærings resurser

Gratis og norsk for n00bs!

Det er mange gode lærings resurser på internett som er laget for at du som nybegynner skal kunne komme i gang med Python. Noe som kan være ett problem når man starter med Python programmering eller programmering generelt er at alt er på engelsk. Om man ikke er 100% stødig i engelsk kan det vær tungt å måtte jobbe med engelsk forståelsen samtidig som man må lære seg å programmere.

Screenshot fra kidsakoder.no

Screenshot fra en av kidsakoder.no sine første Pyhon leksjoner

På grunn av disse utfordringene vil jeg anbefale Python oppgavene til Lær Kidsa Koding til barn, unge og de som ikke føler seg så alt for trygg på engelsk. Disse kan du finne her .

Python leksjonene til Lær Kidsa Koding forutsetter at du har litt programmerings erfaring, men ikke noe mer enn at du er trygg på blokk programmering med Scratch.