Datatype#
Læringsmål#
Vi skal nå introdusere variable. Vi skal også se på (data)typer, for eksempel typene int
(heltall) og String
(tekst).
Vi forutsetter at du har et Jupyter-dokument å jobbe i. Lag gjerne mange fine markdownceller med forklaringer på hva du gjør!
Introduksjon#
En variabel er et sted vi kan lagre en verdi. Se på følgende programeksempel:
minVariabel = 1 # Dette betyr at variabelen "minVariabel" får verdien 1
minVariabel = 2 # variabelen får verdien 2 i stedet
print(minVariabel); # Nåværende verdi blir kastet
2
En variabel modellerer en verdi i virkeligheten (eller i vårt hode).
Representasjoner#
Eske#
Når vi «setter en variabel til å ha en verdi», også kalt «tilordner en variabel en verdi» putter vi altså en verdi oppi esken. Da skriver vi for eksempel a = 5
.
Når vi bruker verdien, også kalt «leser verdien», ser vi altså hva som er oppi esken. I følgende setning ser vi hva som ligger oppi a
, legger til 2 og putter resultatet oppi b
: b = a + 2
.
Python#
I Python skriver vi altså variabelens navn. Om vi skriver variabelens navn til venstre for et likhetstegn putter vi vanligvis en ny verdi oppi variabelen; om vi skriver variabelens navn til høyre for et likhetstegn leser vi vanligvis variabelens verdi.
Algoritmer (ting vi kan gjøre med en variabel)#
Sette en variabels verdi#
Vi kan sette en variabels verdi på denne måten (her heter variabelen minVariabel
):
minVariabel = 2;
print(minVariabel);
minVariabel = 3;
print(minVariabel);
minVariabel = 4;
print("variabelen minVariabel har nå verdien " + str(minVariabel))
2
3
variabelen minVariabel har nå verdien 4
Legg merke til at likhetstegnet =
i Python betyr «settes lik», mens tegnet i algebra betyr «er lik». I Python representerer tegnet altså at vi gjør noe med variabelens verdi, mens i algebra er det et utsagn om variabelen som kan være sant eller usant. (Senere skal vi se at vi kan skrive utsagn i Python også, men da bruker vi dobbelt likhetstegn ==
; se siden om If.)
Bruke en variabels verdi#
Vi har allerede brukt en variabels verdi da vi skrev print(minVariabel)
. Vi skal nå vise flere eksempel, med variablene a
og b
:
a = 2
b = a + 3
print("a=" + str(a))
print("b=" + str(b))
a=2
b=5
Datatyper#
En variabels type sier hvilken verdi som er der. Vi skal ikke si mye om det ennå, men nevne typene int
(heltall) og str
(tekst).
int (heltall)#
Typen int
(eger) er et heltall. Det tilsvarer den matematiske typen ℤ.
int
-verdier kan for eksempel adderes: a = 2 + 3
eller b = a + 2
.
Variable som er tekster#
Vi kan lage variable som er tekster også. Skal vi skrive en tekst kan vi oppgi den med gåseøyne rundt. Skal vi sette variabelen navn
til verdien "Ole"
kan vi si navn = "Ole"
.
Vi kan sette +
mellom to tekster også; da blir de kjedet sammen.
navn = "Ole";
print("Navnet er " + navn)
Navnet er Ole
(Legg merke til at det er et mellomrom mellom er
og "
; hva skjer om vi fjerner det?
Kjede sammen en tekst og et tall.#
Vi kan altså settes sammen to tekster med +
. Vi kan derimot ikke sette sammen en tekst og et tall. Om vi vil det må vi “oversette” tallet til tekst først. Det gjør vi med str
.
a = 2
print(a)
print("a har verdien " + str(a) + " og typen " + str(type(a)))
a = "to"
print("a har verdien " + str(a) + " og typen " + str(type(a)))
2
a har verdien 2 og typen <class 'int'>
a har verdien to og typen <class 'str'>
temperatur = 5;
print("Temperaturen er " + temperatur + " grader")
Andre typer#
Vi skal senere introdusere mange andre typer: Lister av tall, skilpadde-objekt og mange andre ting.
Finne typen av en verdi#
Skal vi finne typen av en verdi kan vi bruke type
, for eksempel:
print(type(2))
print(type("Ole"))
a = "tre"
print(type(a))
<class 'int'>
<class 'str'>
<class 'str'>
Dette er ofte nyttig når vi ikke skjønner helt hva som skjer, og lurer på om det er feil med typene.
Variabel i programmering og algebra#
En variabel i programmering har likheter med variabel i algebra. Samtidig er de grunnleggende forskjellige: En variabel i programmering kan skifte verdi, mens den i algebra har samme verdi hele tida.