| {{ 'ml-lesson-number-slides' | message : article.intro.bblockCount }} |
| {{ 'ml-lesson-number-exercises' | message : article.intro.exerciseCount }} |
| {{ 'ml-lesson-time-estimation' | message }} |
Inom programmering använder man variabler hela tiden. Dessa fungerar dock lite annorlunda jämfört med variabler inom matematiken, där de representerar värden man inte känner till eller värden som är godtyckliga. På den här sidan kommer du att lära dig om dessa skillnader och hur variabler kan användas inom programmering.
x = 13
y = x + 7
print(x, y)
x = 23
print(x, y)
y
?Inom programmering används variabler för att lagra olika sorters värden. Ofta är det fråga om heltal eller decimaltal, men det kan t.ex. också vara text. Man skapar en variabel genom att välja ett namn och skriva det följt av ett likhetstecken och sedan det man vill lagra i variabeln. Man kan t.ex. skriva
x = 10
för att lagra värdet 10 i variabeln x
. Man kan se det som att programmet skapar en låda märkt x
som det sedan lägger värdet 10 i.
Variabelnamn kan bestå av bokstäver, siffror och understreck (_
) men de får inte börja med en siffra. I de flesta programmeringsmiljöer går det att använda å, ä och ö i variabelnamn men man brukar undvika att göra det eftersom det inte är garanterat att det fungerar.
en_variabel = 33.012
print(en_variabel)
variabel_2 = 74
print(variabel_2)
>
33.012
74
Till skillnad från variabler inom matematiken är innehållet i programmeringsvariabler varken obekant eller godtyckligt, utan programmet håller hela tiden reda på vad som finns lagrat i dem. Det är dock möjligt att innehållet skrivs över med något annat allt eftersom programmet stegar sig igenom koden.
x = 10
print(x)
x = 20
print(x)
>
10
20
När man lagrar ett värde i en variabel säger man att variabeln tilldelas ett värde. Variabelnamnet skrivs alltid innan likhetstecknet och det som kommer efter är vad som sparas i variabeln. Om det är ett uttryck kommer det beräknas och sedan lagras, så om man skriver
x = 3*7 + 8
kommer programmet att räkna ut 3⋅7+8=29 och lagra värdet 29 i variabeln x
. Det som står till höger om likhetstecknet kan även innehålla andra variabler, t.ex.
y = x + 6
.Om man redan har sparat värdet 29 i x
kommer detta att sättas in i uttrycket och programmet gör beräkningen 29+6=35 för att sedan spara 35 i variabeln y
. Det går till och med att använda den variabel som får tilldelningen i uttrycket till höger om likhetstecknet.
y = y + 1
.I matematiken skulle det här vara en ekvation, men i ett program tolkas det på ett annat sätt. Här läser programmet först av vad som finns lagrat i y
och sätter in det i högerledet, vilket ger uträkningen 35+1=36. Programmet skriver sedan över y
med detta nya värde.
x = 3*7 + 8
print(x)
y = x + 6
print(y)
y = y + 1
print(y)
>
29
35
36
Vad kommer att finnas i variablerna a
och b
efter att man har kört följande kod?
a = 25
b = 4*a
a = 4*b
b = b - 10
Vi börjar på rad 1, där vi ser att variabeln a
tilldelas värdet 25. Man kan tänka sig variabeln som en låda, och nu ligger talet 25 i lådan.
På rad 2 skapas variabeln b
och tilldelas resultatet av beräkningen till höger om likhetstecknet, alltså 4*a
. Just nu ligger värdet 25 i a
, så beräkningen blir 4⋅25=100. Nu har alltså en ny låda skapats med talet 100 i.
På rad 3 skapas ingen ny variabel, istället ändras värdet på a
. Till höger om likhetstecknet står 4*b
, och med värdet 100 i b
blir beräkningen 4⋅100=400. Vi ska alltså skriva över innehållet i a
med 400.
I matematik är b=b−10 en motsägelse, men i Python innebär det att värdet b-10
ska lagras i variabeln b
. Just nu ligger 100 i b
, så beräkningen blir 100−10=90. Variabeln ska alltså tilldelas värdet 90, vilket skriver över det gamla.
Detta är alltså vad som finns lagrat i variablerna efter att koden har körts.
En datatyp är en viss sorts information, t.ex. heltal eller strängar, som ett programmeringsspråk handskas med. Dessa kan inte kombineras hur som helst − man kan t.ex. inte addera ett tal och en text. Vissa operatorer, som t.ex. +
, fungerar olika beroende på vilken datatyp man använder dem på. Det är framför allt fem datatyper man bör känna till.
4
och -55
.-8.7
och 3.0
.'Jag är 17 år gammal.'
. Strängar skrivs inom apostrofer.True
respektive False
.[2, 4, 8, 16]
eller [5, 'text', 3.14]
. Listor skrivs inom hakparenteser.Listor är en datatyp i Python som kan innehålla flera värden eller variabler. Man skapar dem genom att sätta hakparenteser runt en följd av värden, separerade med komman.
x = [1, 2, 3, 4, 5]
print(x)
>
[1, 2, 3, 4, 5]
Värdena i listor måste inte ha samma datatyp utan man kan blanda hur man vill.
x = [1, 'två', 3.0, 4, 'fem']
print(x)
>
[1, 'två', 3.0, 4, 'fem']
För att komma åt ett visst element i en lista sätter man en hakparentes efter variabelnamnet och skriver numret för det element man vill ha. I Python har man valt att indexeringen ska börja på 0, inte 1, så om man exempelvis vill få tag i det tredje elementet skriver man x[2]
.
x = [1, 'två', 3.0, 4, 'fem']
print(x[2])
>
3.0
Om man vill lägga till ett värde i en lista som redan finns går det att göra med hjälp av kommandot append()
. Man använder det genom att skriva namnet på listan följt av en punkt och append()
, där man skriver in det värde man vill lägga till inom parentesen. Då hamnar värdet sist i listan.
x = [1, 2, 3, 4, 5]
x.append(10)
print(x)
>
[1, 2, 3, 4, 5, 10]
Ylva ska beräkna värdet av ett polynom för några x-värden. Hon börjar med x=3 och skriver ett program för beräkningen.
print(18*3**4 - 57*3**3 + 12*3**2 + 100*3 - 560)
>
-233
Hon vill nu göra samma sak för x-värdena 4, 5 och 6, vilket blir många småändringar i programmet. Hjälp Ylva göra sitt program lättare att anpassa till nya beräkningar med hjälp av variabler.
x
tilldelas ett värde. x = 3
print(18*x**4 - 57*x**3 + 12*x**2 + 100*x - 560)
>
-233
Programmet gör precis samma sak som tidigare, men den här versionen är lättare att återanvända. Nu behöver Ylva bara ändra till x=4
och köra programmet igen för att beräkna nästa värde, istället för att ändra 3
till 4
på fyra ställen. Det är dessutom mer lättläst!
x = 4
print(18*x**4 - 57*x**3 + 12*x**2 + 100*x - 560)
>
992
Inom programmering är en kommentar ett textstycke i koden som inte tolkas av programmet. Syftet kan vara att förklara vad koden gör eller att tillfälligt dölja en kodrad som man kanske vill använda senare. I Python skapas en kommentar med tecknet #
. Alla efterföljande tecken på samma rad som #
ignoreras av programmet.
#Programmet tar ett tal x och skriver ut talet y,
#som är 5 större. x = 2 # Här sätts startvärdet
y = x + 5 # Raden nedan är bortkommenterad och därför skrivs y inte över
# y = -2 print(y)
>
7