Kom i gang
Hvis du ikke har gjort det enda, må du installere Python og Visual Studio Code før du fortsetter.
- Hello World
- Tre måter å kjøre Python
- Kommentarer
- Utskrift til terminalen
- 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.
print("Hello World")
Last ned filen hello.py, åpne den i VSCode og kjør den. Se at det virker.
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")
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")
# 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("---")
# Strenger slås sammen med pluss (+)
print("foo" + "bar") # foobar
a = "Hei"
b = "der"
print(a + " " + b) # Hei der
# Strenger repeteres flere ganger med gangesymbol (*)
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
Merk: å hente input fra terminalen gir mest mening når man kjører python som en fil. Ved å kjøre eksemplene under i Brython (på denne nettsiden), vil vi ikke få se noe output fra programmet før hele kjøringen er ferdig, noe som ikke alltid gir mening. I Brython -kjøringene på denne nettsiden vil også den korte timeout’en gjøre at vi ikke alltid har tid til å skrive inn det vi ønsker.
# Når input er en tekst
print("Skriv ditt navn")
name = input()
print(f"Hei, {name}!")
# Når input er et tall
print("Skriv et tall")
x = input()
half_x = x / 2 # Krasjer!
print(f"Halvparten av {x} er {half_x}")
# Når input er et tall
print("Skriv et tall:")
user_input = input()
x = int(user_input) # Eller bruk float(user_input) for desimaltall
half_x = x / 2 # Bedre!
print(f"Halvparten av {x} er {half_x}")
Syntaksfeil, krasj og logiske feil
print("oj!) # Syntaksfeil! (mangler hermetegn etter !)
# Gir output:
# SyntaxError: EOL while scanning string literal
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