Lär dig programmera med Python!

Back to All Courses

Lesson 2

Variabler och datatyper

Variabler

Variabler är till för att spara data under en programkörning, så att man kan använda det flera gånger. För att tilldela ett värde till en variabel använder man likhetstecknet (=). Prova att skriva exemplen nedan i Python Shell (tryck på enter efter varje rad för att köra den):

>>> a = 5
>>> mitt_tal = 78

Här har vi lagrat två variabler: a som innehåller talet 5, och mitt_tal som innehåller talet 78. Om du nu skriver mitt_tal i Shell och trycker på Enter, kommer du se att Python kommer ihåg vilket värde som tilldelats mitt_tal och returnerar 78!

>>> mitt_tal
78

⚠️ OBS! Variabelnamn får inte inte 1nummer innehålla bokstäverna å, ä, ö, några mellanslag ( ) eller bindestreck (-).

Ett annat krav är att de inte får börja med en siffra! Man kan alltså inte skriva 1nummer = 5

Nummer

Vi har nu sett den första sortens datatyp som finns i Python: nämligen nummer! Till och med i de enklaste programmen använder man väldigt mycket matte, och nummer är därför också en av de vanligaste datatyperna. Det finns faktiskt 3 olika numeriska datatyper i Python:

  1. int: Heltal ("integers" på engelska). T.ex. 3 och -42.

  2. float: Flyttal (eller "reella tal"), d.v.s. nummer med kommatecken. T.ex. 3.0 och -42.5. Eftersom Python är ett amerikanskt programmeringsspråk använder man punkt (.) och inte kommatecken (,) när man skriver flyttal i sin kod.

  3. complex: Komplexa tal. Används mycket mer sällan, men kan vara nödvändigt om man skriver ett väldigt matematiskt program. Den imaginära delen ska följas av ett j, t.ex. 5j.

Man kan faktiskt konvertera mellan de olika numeriska datatyperna! I exemplet nedan konverterar vi ett flyttal till ett heltal genom att skriva int följt av numret vi vill konvertera inom parenteser:

>>> int(3.25)
3

Strängar

Strängar (eller "strings" på engelska) är en annan datatyp som i princip alltid används i program. Strängar lagrar tecken (bokstäver, nummer och symboler), och används varje gång man vill skriva ut ett läsbart meddelande på skärmen. För att skapa en sträng måste teckenföljden vara instängd av antingen dubbla citattecken (") eller enkla citattecken (').För att en sträng ska skrivas ut i Shell använder man funktionen print:

>>> print("Hej på er!")
"Hej på er!"

Ofta vill man också skriva ut sina variabler. Om variabeln är ett nummer måste man anpassa sin print-sats, så att alla variabler som inte redan är strängar konverteras först.I vårt exempel nedan vill vi skriva ut "Mitt turnummer är: " följt av numret som är lagrat under variabelnamnet turnummer. Men eftersom turnummer är av typen int måste vi först konvertera det till en sträng (på samma sätt som vi konverterade mellan de olika numeriska datatyperna i det tidigare exemplet).

>>> turnummer = 8
>>> print("Mitt turnummer är " + str(turnummer))
"Mitt turnummer är 8"

OBS! Om du konverterar ett nummer till en sträng kan du inte längre använda det för att göra beräkningar! Se alltså till att endast göra konverteringen inom din print-sats (som i exemplet ovan!).

Listor

Listor är en ordnad sekvens av objekt (t.ex. strängar eller nummer). Man kan lägga till nya element eller ändra de som redan finns hur mycket man vill. Listor skapas genom hakparenteser, och alla listelementen måste åtskiljas av ett ett kommatecken. Objekten som lagras kan vara av vilken typ som helst (man kan till och med lagra listor inuti listor!).

I exemplet nedan skapar vi en lista som heter x och som innehåller 3 strängobjekt och ett heltal:

>>> x = ["Hej", 5, "är", "turnummer"]

Vi kommer senare att se hur man kommer åt dessa listelement var för sig med hjälp av indexering.

Dictionary

En dictionary är väldigt lik en lista, men är organiserad på ett annorlunda sätt. I vanliga listor måste man komma ihåg vilken plats ett element befinner sig på för att kunna komma åt det, men i dictionaries använder man sig istället av nycklar (eller "keys" på engelska). Dictionaries skapas genom måsvingparenteser, och alla element består av en nyckel och ett objekt. Både nycklarna och objekten kan vara av vilken datatyp som helst.

I exemplet nedan skapar vi en dictionary som heter min_info och som innehåller en sträng som nås med nycklen mitt_namn samt ett heltal som nås med nyckeln min_alder.

>>> min_info = {"mitt_namn":"Albert Ludusson", "min_alder":21}

Nu när dictionary-objektet är skapat kan vi enkelt komma åt dess element med hjälp av nycklarna:

>>> min_info["mitt_namn"]
"Albert Ludusson"

>>> min_info["min_alder"]
21

Bools

Bools (även kallat Booleans, Booleask) är en datatyp som bara kan anta två värden – True eller False.

En bool är falsk om:

  • Ett nummer är lika med 0

  • En sträng inte innehåller några tecken

  • En lista är tom

  • En dictionary är tom

>>> bool(0)
False
>>> bool(52)
True

>>> bool("") # en sträng utan några tecken
False
>>> bool("hej")
True
		 
>>> bool([]) # en tom lista
False
>>> bool([1, 5, 6])
True

>>> bool({}) # en tom dictionary
False
>>> bool({"mitt_namn":"Albert Ludusson", "min_alder":21})
True