Kom i gang
Hvis du ikke har gjort det enda, må du installere Python 3.11 og Visual Studio Code før du fortsetter.
- Hello World
- Tre måter å kjøre Python
- Kommentarer
- Utskrift til terminalen
- Python som enkel kalkulator
- Strenger
- Input fra terminalen
- Syntaksfeil, krasj og logiske feil
Hello World
Det er tradisjon for at det første programmet man skriver når man lærer seg et nytt programmeringsspråk er et program som skriver ut ordene «Hello World» til skjermen. I Python ser programmet slik ut:
print("Hello World")
Tre måter å kjøre Python
-
Fil/script: Python vil gå igjennom en fil med python-kode og utføre én og én linje. Skriv kommandoen
python [filnavn]
(ellerpython3 [filnavn]
) i terminalen eller klikk på Run -knappen i Visual Studio Code. -
REPL: En interaktiv modus, Read-Evaluate-Print-Loop, er praktisk om man ønsker å utføre en kort kommando eller utforske hvordan noe fungerer. Skriv kommandoen
python
(ellerpython3
) i et terminal-vindu, eller gå til View -> Command Pallette i Visual Studio Code og skriv Python: Start REPL. For å avslutte, trykkctrl-d
. -
Brython: På denne nettsiden vil mange av kode-eksemplene være mulig å kjøre direkte i nettleseren, slik som Hello World -programmet over. Da benytter vi en variant av Python som heter Brython. Denne metoden har noen begrensninger: for eksempel har vi gitt den en timeout på noen få sekunder, og vi kan ikke lese filer som ligger på datamaskinen.
Kommentarer
Kommentarer er tekst i programmet vårt som blir fullstendig ignorert av Python. Alt som kommer etter en hashtag (#
) på en linje blir ignorert, og er kommentarer.
print("Hello World") # Her er en kommentar
# print("På denne linjen skjer det ingenting")
print("Her er # i en streng.") # Hashtag mellom "hermetegn" telles ikke
Utskrift til terminalen
Print-funksjonen skriver ut verdier til terminalen.
# Print-funksjonen kan skrive ut forskellige typer verdier
print("Foo") # streng/tekst
print(42) # nummer
print(True) # boolske verdier
# Print-funksjonen kan skrive ut flere ting på én gang
print("Foo", "Bar")
# Bruk end="" for å avslutte med noe annet enn et linjeskift
print("Foo", end="---*---")
print("Bar")
Python som enkel kalkulator
Man kan bruke Python som en enkel kalkulator.
print(2 + 2) # Addisjon --> 4
print(5 - 3) # Subtraksjon --> 2
print(2 * 3) # Multiplikasjon --> 6
print(5 / 2) # Divisjon --> 2.5
print(5 // 2) # Heltallsdivisjon (runder alltid ned) --> 2
print(5 % 2) # Modulo (rest etter heltallsdivisjon) --> 1
print(3 ** 2) # Potens --> 9
print(max(2, 3)) # Største verdi --> 3
print(min(2, 3)) # Minste verdi --> 2
print(abs(-3)) # Absoluttverdi --> 3
# Man kan også ha kombinerte uttrykk.
print(2 + 3 * 4) # 14
print(max(2, 3, 199, 4, 5)) # 199
# Man kan bruke parenteser for å styre rekkefølgen på operasjoner
print((2 + 3) * 4) # 20
Strenger
En streng er en verdi som representerer tekst. En streng består av bokstaver, tallsymboler, mellomrom, linjeskift og andre tegn.
print("Strenger skrives mellom hermetegn.")
print('Man kan også bruke apostrof.')
print(Hvis du ikke har hermetegn er det ikke en streng, og det krasjer)
# En streng kan lagres i en variabel.
foo = "bar"
print("foo") # Skriver ut "foo"
print(foo) # Skriver ut "bar"
# En streng kan inneholde linjeskift (\n)
print("Denne strengen\ninneholder to\nlinjeskift")
# En streng kan inneholde hermetegn (")
print("Her \"er\" et hermetegn")
print('Her "er" et hermetegn') # bedre: bruk apostrofer
# En streng kan inneholde bakstrek (\)
print("C:\\mappe\\script.py")
Lengden av en streng
# len() finner lengden til en streng
x = "foo"
print(len(x)) # 3
print(len("foobar")) # 6
print(len("foo bar")) # 7
print(len("foo\nbar")) # 7 (linjeskift \n telles kun som 1)
print(len(" foobar ")) # 9 (inkluderer mellomrom)
# En streng kan være tom
x = ""
print(len(x)) # 0
print(x) # printer ingenting på denne linjen
print("---")
# Hvis du vil skrive ut noe uten å avslutte med linjeskift, bruk end=""
print("super", end="")
print("duper")
Operasjoner på strenger
# Strenger konkateneres (limes sammen) med pluss (+)
print("foo" + "bar") # foobar
a = "Hei"
b = "der"
print(a + " " + b) # Hei der
# Strenger repeteres flere ganger med gangesymbol (*) og et tall
print("*" * 3) # ***
s = "bar"
print(2 * s) # barbar
Det er mulig å kombinere tekst og andre verdier med f-strenger. Legg merke til f før hermetegnet.
# Med en f-streng kan vi inkludere variabler i strengen
number_of_students = 800
course_id = "INF100"
print(f"Vi ønsker {number_of_students} studenter velkommen til {course_id}")
# Uten f'en får vi en logisk feil
print("Vi ønsker {number_of_students} studenter velkommen til {course_id}")
print()
# f-strenger kan også brukes for å lage verdier som lagres som en variabel
message = "Jeg lengter hjem"
log_message = f"Mottatt melding: {message}"
print(log_message) # "Mottatt melding: Jeg lengter hjem"
# f-strenger er ikke magiske
message = "Jeg er fornøyd"
print(log_message) # fremdeles "Mottatt melding: Jeg lengter hjem"
Input fra terminalen
Bruk av
input
-funksjonen for å spørre brukeren om verdier gir mest mening når man kjører en Python-fil i en terminal.
# Les input og skriv ut en hilsen
print("Skriv ditt navn")
name = input()
print(f"Hei, {name}!")
# Når input er et tall
print("Skriv et tall")
a = input()
print("Skriv et tall til")
b = input()
# Hva tror du skrives ut her?
print("Summen er ", a + b)
a = int(a)
b = int(b)
# og hva tror du skrives ut her?
print("Summen er ", a + b)
Syntaksfeil, krasj og logiske feil
print("oj') # Syntaksfeil! (apostrof matcher ikke hermetegn rundt strengen)
# Gir output:
# SyntaxError: EOL while scanning string literal
print("42" + 3) # Krasj! (å legge sammen en streng og et tall er umulig)
# Gir output:
# TypeError: can only concatenate str (not "int") to str
print(1/0) # Krasj! (å dele på 0 er umulig)
# Gir output:
# ZeroDivisionError: integer division or modulo by zero
x = 2
y = 3
z = x + y
print(f"{x} + {z} = {y}") # Logisk feil, vi har byttet z og y
# Gir output:
# 2 + 5 = 3