Introduktion til Python

Python er et højniveau programmeringssprog som lægger vægt på at koden er let læselig og kræver så få linier som muligt. Ligesom alle andre programmeringssprog kræver det viden og erfaring at lave større kodearbejde.

Dette materiale er skabt sådan, at du metodisk bliver ført ind i hvordan Python virker ved hjælp af eksempler og forklaringer. For at lære mest muligt bør du indtaste kodeeksemplerne fremfor at kopiere dem, da det vil hjælpe dig til at lære mere effektiv.

Materialet er lavet og testet på Ubuntu 20.04 og Python 3.6.6.

Læs om Python: https://en.wikipedia.org/wiki/Python_(programming_language)

Installation

I dette kursus installerer vi Thonny, som er udviklingsmiljø, der er beregnet til undervisning.

Programmet hentes på https://thonny.org/, ved at klikke på det linket til ens operativsystem i boksen øverst i højre hjørne.

Filen bliver hentet ned på din computer og du kan installere den som du vil gøre det normalt.

På Ubuntu

Kør kommandoen:

sudo apt install thonny

Vigtige begreber

Python læser sine inputs som enten værdier eller tegn. Forskellen mellem dem er at værdier kan man regne med men det kan man ikke med tegn. Tegn angives i Python ved at lade dem omslutte af enten udrågstegn eller apostroffer.

Tal

  • Integers (heltal)
  • F.eks: 1, 4, 19

  • float (decimaltal)
  • F.eks: 3.14, 2.5 ...

    Læg mærke til at . anvendes til at binde heltals og decimalt delen sammen (adskille dem). Det er en typisk fejl man laver når man starter med at programmere.

Tegn

En vigtig ting at forstå ved tekst er det også kan være tal. Man angiver det ved at sætte det i anførselstegn eller i apostroffer, f.eks:

  • "a"
  • "en tekst"
  • '7'

Resultatet er at Python læser alle disse inputs som tegn. Dvs. at man ikke kan beregne "2" + 2 da det er en tekst + en værdi

Når der kun er et enkelt tegn kaldes det en char. Når der er flere kaldes det for en tekststreng eller en string (engelsk)

Seperatorer

Oprindeligt er programmeringssprog blevet udviklet af sprogfolk. Dvs. at vi anvender tegn i programmering, som vi ville skrive dem.

, - komma -
Anvendes til at adskille sætningsled

Når vi anvender komma , i almindelige tekster bruger vi det til at adskille led i en sætning. På samme måde bliver , anvendt til at adskille forskellige elementer når vi programmere.
. - punktum
Anvendes til at kæde ting sammen.

Når vi anvender punktum ( . ) anvender vi det til at kæde ting sammen. Se på f.eks.. Her kæder vi f og eks sammen, så det bliver til et begreb. Vi bruger det også til at kæde sætninger sammen til afsnit.
(), {} og [] - parenteser
Anvendes til at pakke forskellige elementer inde, så de bliver tolket i en sammenhæng

Det kan f.eks. være i lister. Herover bliver det f.eks: Kolon: anvendes til....

Overblik over Thonny

Thonne består af to hovedområder: I det øverste felt skriver man sin kode, og i det nederste felt (shell) får man sit output, og man kan afprøve kodestumper.

Shell

Lad os prøve shell (nederste felt først). Vær opmærksom på, at de tre pile (>>>) ikke er en del af koden, men viser hvor koden starter.

Fordelen ved at anvende shell er, at den automatisk udskriver det man indtaster, hvor man normalt skal bede python om at printe det (kommer senere).

Lad os prøve at se hvordan det virker ved at indtaste et simpelt regnestykke: 3*6 - som svarer til \( 3 \cdot 6 \)

>>> 3*6
18

Python svarer tilbage med 18.

Regnestykket 3*6 kalder vi for input og 18 kalder vi for output.

  • \( 3 \cdot 8 \) - Input
  • 18 - Output

I dette materiale vil vi anvende shell til at øve og arbejde med de forskellige kommandoer.

Har du indtastet flere kommandoer kan du vælge mellem dem ved at bruge piletasterne og

Programmeringsfladen

Programmer består af en masse kommandolinier, og til det formål anvender vi det øverste område. Et simpelt program kunne være at udskrive de første 3 tal i 7 tabellen. Det gør vi ved at indskrive disse linjer i det øverste felt.

print(1*7)
print(2*7)
print(3*7)

For at få koden til at virke klikker vi enten på den grønne knap med pilen i - _ eller vi trykker F5.

Første gang skal vi gemme vores program i en fil (du behøver ikke at skrive filtype på).

Når du trykker gem kører programmet i det nederste vindue.

>>> %Run test.py
7
14
21

Sørg for en god måde at gemme og navngive dine filer på. Lav en ny mappe hvor du gemmer dine programmer i f.eks: Python_programmer. Lav undermapper hvis du har mange projekter.

Navngiv så du på filnavnet kan se, hvad programmerne gør f.eks: pythonprogram_introduktion_øvelse_001.py.

En god måde at angive navne sparer dig for meget arbejde senere når du skal genfinde kode du har lavet.

Debug run

Med Thonny kan du køre koden i trin, og det kaldes at debugge. Det gør du ved at klikke på _ eller starte koden op med Ctrl+F5, og ved at sprinte 1 skridt frem ad gangen med F6.

Herunder er vist hvordan koden springer, med forklaring

Trin 1: Start "debug run" med Ctrl+F5

Den første linie i koden bliver markeret, så du ved hvad der bliver kørt når du trykker videre

Trin 2: Udfør linien med F6

Næste linie bliver markeret, og resultatet af første linie bliver vist i shell.

Trin 3: Udfør linien med F6

Næste linie bliver markeret, og resultatet af forrige linie bliver vist i shell.

Trin 4: Udfør linien med F6

Koden er nu kørt færdig (vises med de tre >>>)og resultatet af forrige linie bliver vist i shell.

Senere vil du lave kode-blokke, hvor du kan vælge at se hvad blokken gør eller gå ind i den. Tryk F7 for at gå ind i kodeblokken og F8 for at gå ud af den igen.

Tricks

Skriftstørrelse
Større skrifttype: Ctrl++

Mindre skriftype: Ctrl+-
Vælg gamle kommandoer
Bruge piletasterne og til at gå tilbage og frem i de kommandoer du har indtastet
Skift mellem editor og shell
Gå til editor: Alt+e

Gå til Shell: Alt+s
Ny fane i editor (nyt program)
Ctrl+n

Er der for meget rod i din shell kan du rense den ved at høreklikke i shell eller ved at bruge menuen: Edit → Clear shell

Ressourcer på nettet

https://www.w3schools.com/python/

https://www.raspberrypi.org/documentation/usage/python/

https://www.raspberrypi.org/documentation/usage/python/more.md

https://docs.python.org/3/