Lær om variabler, grunnleggende datatyper i Python, typekonvertering og input/output.
Boksen som husker
I forrige kapittel skrev vi alle verdier direkte i koden. Men hva om programmet skal huske en verdi, endre den, eller bruke noe brukeren skriver inn? Da trenger vi variabler.
En variabel er som en merket boks der du lagrer data. Boksen har et navn, og inni ligger en verdi. I Python oppretter du en variabel ved å skrive navnet, et likhetstegn, og verdien:
navn = "Kari"
alder = 17
høyde = 1.72
er_elev = TrueViktig: likhetstegnet i programmering betyr ikke «er lik» som i matematikk. Det betyr «tilordne verdien til høyre til variabelen til venstre». Det finnes noen regler for navn: de kan inneholde bokstaver, tall og understrek, men kan ikke starte med et tall, kan ikke ha mellomrom, og kan ikke være reserverte ord som if eller for. Python skiller dessuten mellom store og små bokstaver, så Navn og navn er ulike. Bruk alltid beskrivende navn som antall_elever framfor n – det gjør koden mye lettere å lese.
En variabel kan endre verdi underveis; den nye overskriver den gamle. Et vanlig mønster ser slik ut: poeng = poeng + 5. Python regner først ut høyresiden og tilordner så resultatet tilbake til poeng. Det finnes også forkortelser: poeng += 10 betyr det samme som poeng = poeng + 10, og tilsvarende finnes -=, *= og /=. Legg merke til at divisjon med /= gir et desimaltall som 60.0 – noe som leder oss til datatyper.
De fire datatypene
En datatype sier hva slags data en variabel inneholder og hvilke operasjoner som er lov. Python har fire grunnleggende typer. int er heltall uten desimaler, som 17, -5 eller 0. float er desimaltall som 3.14 eller 49.90. str er tekststrenger omsluttet av anførselstegn, som "Kari". Og bool er sannhetsverdier, enten True eller False. Python velger datatypen automatisk ut fra verdien du gir – det kalles dynamisk typing – og du kan sjekke typen med funksjonen type().
Med heltall kan du gjøre matematikk, og noen operatorer er verdt å merke seg: a / b gir alltid et desimaltall, a // b er heltallsdivisjon (kutter desimalene), a % b er modulo (resten), og a ** b er potens. For eksempel gir 10 // 3 verdien 3, mens 10 % 3 gir 1. Tekststrenger kan settes sammen med +, kalt konkatenering: fornavn + " " + etternavn gir "Kari Nordmann". Boolske verdier blir spesielt viktige når vi kommer til betingelser i neste kapittel.
Noen ganger trenger du å bytte type. Det kalles typekonvertering, og Python har innebygde funksjoner: int("42") gir tallet 42, float("99.90") gir 99.9, og str(17) gir teksten "17". Også bool() finnes: bool(0) og bool("") gir False, mens bool(1) og enhver ikke-tom streng gir True. Typekonvertering er ekstra viktig sammen med input(), som vi straks skal se.
Å snakke med brukeren
Interaktive programmer må kunne ta imot data og vise resultater. Python bruker input() til å lese og print() til å skrive ut. Slik leser du et navn:
navn = input("Hva heter du? ")
print("Hei, " + navn + "!")En felle som rammer nesten alle nybegynnere: input() returnerer alltid en tekststreng. Vil du ha et tall å regne med, må du konvertere:
alder = int(input("Hvor gammel er du? "))Når du skal vise resultater, er f-strenger den anbefalte måten. Du setter f foran anførselstegnet og putter variabler i krøllparenteser:
pris = 49.90
antall = 3
total = pris * antall
print(f"Total avrundet: {total:.2f} kr")Dette skriver ut Total avrundet: 149.70 kr, der :.2f betyr to desimaler. Sett dette sammen, og du har en kalkulator: du leser to tall med float(input(...)) slik at både hele tall og desimaltall fungerer, regner ut sum, differanse og produkt, og viser alt ryddig med f-strenger. Du bør også sjekke at du ikke deler på null før du regner ut kvotienten – men den slags valg lærer vi om i neste kapittel.
Oppsummering
Variabler er navngitte bokser som lar programmet huske og endre data. Likhetstegnet betyr «tilordne», og navn bør være beskrivende. Python har fire grunnleggende datatyper: int (heltall), float (desimaltall), str (tekst) og bool (True/False), og du sjekker typen med type().
Du kan konvertere mellom typene med int(), float() og str() – noe som er nødvendig fordi input() alltid gir en tekststreng. Til å vise resultater ryddig bruker du f-strenger med variabler i krøllparenteser. Med dette har du alt du trenger for å lage små interaktive programmer som regner og snakker med brukeren.
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.