Tilbake
3.2
Variabler, datatyper og operatorer

3.2 Variabler, datatyper og operatorer

Variabler, datatyper, aritmetiske og logiske operatorer i Python.

55 min
7 oppgaver
VariablerDatatyperOperatorerTilordningPython
Du leser den lesevennlige versjonen
Din fremgang i kapitlet
0 / 7 oppgaver

Bokser med etiketter

Tenk deg at du skal skrive et program som regner ut motstanden i en krets, eller holder styr på temperaturen fra en sensor. Hvor lagrer programmet tallene mens det jobber? Svaret er variabler -- grunnmuren i all programmering. En variabel er rett og slett et navn som peker til en verdi i datamaskinens minne, som en boks med en etikett.

I dette kapittelet skal vi bygge den grunnmuren stein for stein i Python. Vi starter med variablene selv -- hvordan vi lager dem og hvilke regler som gjelder for navnene. Deretter ser vi på de fire grunnleggende datatypene, og hvordan vi kan konvertere mellom dem. Så lærer vi operatorene som lar oss regne, sammenligne og resonnere logisk. Og til slutt ser vi hvordan programmet kan snakke med brukeren -- skrive ut svar og ta imot input. Når du er ferdig, kan du skrive små programmer som faktisk regner ut noe nyttig, som en enkel kalkulator eller en omregner mellom Celsius og Fahrenheit.

Variabler og datatyper

La oss starte med selve variabelen. En variabel er et navn som refererer til en verdi i minnet, og du lager den med tilordningsoperatoren =. Skriver du alder = 17, navn = "Ola" og temperatur = 22.5, har du laget tre variabler. Det er noen navneregler å huske: navn kan inneholde bokstaver, tall og understrek, men må starte med en bokstav eller understrek -- ikke et tall. Du kan ikke bruke Python-reserverte ord som if eller for, og navn er case-sensitive, så Alder og alder er to ulike variabler. Et godt råd er å bruke beskrivende navn: antall_elever er mye bedre enn x.

Hver verdi har en datatype, og Python har fire grunnleggende. int er heltall som 42 eller -7. float er desimaltall som 3.14. str er tekst (streng) i anførselstegn, som "Hei". Og bool er en sannhetsverdi, True eller False. Du kan alltid sjekke typen med type().

Noen ganger må vi konvertere mellom typer -- det kalles typekonvertering. Funksjonene int(), float() og str() gjør jobben. Har du teksten "25" og vil regne med den, gjør int("25") den om til tallet 25. Vil du sette et tall sammen med tekst, må du gå andre veien: "Jeg er " + str(alder) + " år" -- du kan ikke legge sammen tekst og tall direkte. Og pass på: når du gjør et desimaltall om til heltall med int(), avrundes det nedover, så int(99.9) blir 99, ikke 100.

📝Oppgave Quiz 1

Operatorene som regner og resonnerer

Med variabler på plass kan vi begynne å regne. Python har et sett aritmetiske operatorer: + adderer, - subtraherer, * multipliserer og / dividerer. I tillegg finnes noen spesielle: // er heltallsdivisjon (kaster bort desimalene), % er modulo som gir resten, og ** er potens. For eksempel: 7/37 / 3 gir 2.333..., men 7//37 // 3 gir 2, og 7%37 \% 3 gir 1 (fordi 7=32+17 = 3 \cdot 2 + 1). Og 232 ** 3 gir 8.

Rekkefølgen følger vanlige matteregler: potens først, så multiplikasjon og divisjon, til slutt addisjon og subtraksjon -- og parenteser overstyrer alt. Vil du regne ut arealet av en sirkel med radius 5, skriver du areal = pi * radius ** 2. Her beregnes radius ** 2 først fordi potens har høyere prioritet enn multiplikasjon.

Men operatorer kan også sammenligne. Sammenligningsoperatorene == (er lik), != (er ikke lik), <, >, <= og >= returnerer en boolsk verdi -- True eller False. Pass på forskjellen mellom = (tilordning) og == (sammenligning); det er en klassisk feil.

Til slutt kan vi kombinere sannhetsverdier med logiske operatorer. and gir True bare hvis begge er sanne, or hvis minst én er sann, og not snur verdien. La oss resonnere gjennom et uttrykk: not (5 > 3 and 2 == 2). Først parentesen: 5 > 3 er True, 2 == 2 er True, og True and True er True. Så snur not det til False. Slik bygger vi opp logikk som programmet kan ta beslutninger ut fra.

📝Oppgave Quiz 2

Å snakke med brukeren

Et program som bare regner i det stille, er ikke særlig nyttig. Vi vil at det skal kunne vise oss resultater og ta imot informasjon. Til det har Python to sentrale funksjoner.

print() skriver ut til skjermen. Du kan skrive ut tekst, tall, eller flere verdier skilt med komma: print("Summen er:", 3 + 4) skriver «Summen er: 7». Komma setter automatisk inn et mellomrom mellom verdiene, og du kan blande tekst og tall fritt.

input() lar brukeren skrive inn data. Men her er en felle mange går i: input() returnerer alltid en streng -- en tekst -- uansett hva brukeren skriver. Skriver brukeren tallet 5, blir det teksten "5", ikke tallet 5. Konsekvensen ser vi tydelig her: hvis x = input("Tall: ") og brukeren skriver 5, så gir print(x + x) ut "55", ikke 10! Det er fordi + på to tekster slår dem sammen (konkatenering) i stedet for å addere. Vil du regne med inputen, må du konvertere den, for eksempel med int(input(...)) eller float(input(...)).

Nå kan vi sette alt sammen til ekte programmer. En enkel kalkulator leser to tall med float(input(...)), legger dem sammen og skriver ut summen. En temperaturomregner fra Celsius til Fahrenheit bruker formelen F=C9/5+32F = C \cdot 9/5 + 32 -- for 20 °C blir det 209/5+32=36+32=6820 \cdot 9/5 + 32 = 36 + 32 = 68 °F. Og en motstandsberegner med Ohms lov, R=U/IR = U/I, kan til og med sjekke om strømmen er 0 før den deler (siden divisjon med null ikke er lov). Med variabler, datatyper, operatorer og input/output har du alt du trenger for å skrive små, nyttige programmer.

📝Oppgave Quiz 3

Oppsummering

Vi har bygget programmeringens grunnmur i Python. Variabler er navn som peker til verdier i minnet, opprettet med =, med navneregler som å starte med bokstav og være case-sensitive. Hver verdi har en datatype -- int, float, str eller bool -- og vi kan konvertere mellom dem med int(), float() og str(), der int() avrunder nedover.

Vi lærte de aritmetiske operatorene (med % for rest og ** for potens, som har høyest prioritet), sammenligningsoperatorene som gir sant/usant, og logiske operatorer som and, or og not. Til slutt så vi hvordan print() skriver ut og input() leser inn -- med den viktige fellen at input alltid gir en streng, så "5" + "5" blir "55". Med disse byggeklossene kan du skrive ekte programmer, fra kalkulatorer til Ohms lov-beregninger.

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.