Variabler og uttrykk


Variabler

En variabel er en referanse til en verdi.

# Symbolet '=' betyr her at vi tilordner verdien 5 til variabelen x
x = 5
print(x)     # 5
print(2 * x) # 10
print(x)     # fremdeles 5

Til forskjell fra matematikk, kan en variabel i Python endre verdi.

y = 10      # Variabelen y refererer nå til verdien 10
print(y)    # 10

y = True    # Variabelen y refererer nå til verdien True
y = "Hei"   # Variabelen y refererer nå til verdien "Hei"
y = 11      # Variabelen y refererer nå til verdien 11
y = y + 1   # Variabelen y refererer nå til verdien 12
print(y)    # 12
print(y)    # fremdeles 12

Vi bestemmer selv hva variablene skal hete, så lenge de begynner med en bokstav og ikke inneholder spesielle tegn (bortsett fra _).

antall_studenter = 800
antall_gruppeledere = 41
kurskode = "INF100"
99problemer = True # Krasjer, variabler kan ikke begynne med tall
Tilordning

En variabel tilordnes verdi ved bruk av tilordningsoperasjonen =. Det er også mulig å kombinere tilordningsoperasjonen med operasjonssymboler, slik som f. eks. += og -=.

x = 5
x += 2 # det samme som x = x + 2
print(x) # 7

y = 5
y + 2 # ingen tilordnings-operasjon her
print(y) # fremdeles 5

Tilordningsoperatøren kan kombineres med alle symbol-operasjonene.

x = 42

x += 2       # det samme som  x = x + 2
x -= 3 - 1   # det samme som  x = x - (3 - 1)
x //= 10     # det samme som  x = x // 10
x **= 5 // 2 # det samme som  x = x ** (5 // 2)
x *= 2 + 3   # det samme som  x = x * (2 + 3)
x %= 3       # det samme som  x = x % 3
x /= 3       # det samme som  x = x / 3
Uttrykk og setninger

Et uttrykk består av én eller flere verdier, variabler, operasjoner og funksjoner som alltid vil evaluere til en enkelt verdi. Her er noen eksempler på uttrykk (vi antar her at x og y er variabler som allerede er definert/er tilordnet en verdi).

En setning er ett steg i et python -program, og representerer (primært) en handling og ikke en verdi. For eksempel tilordningen av en verdi til en variabel.

Variabler referer til verdier, ikke til uttrykk

Det som står på høyresiden av tilordningsoperatøren når vi tilordner verdi til en variabel er et uttrykk. Variabelen vil være en referanse til den ferdig evaluerte verdien, og vil ikke huske hvordan uttrykket så ut.

x = 5
y = x + 2
print(x) # 5
print(y) # 7

x += 10
print(x) # 15
print(y) # fremdeles 7
Gode variabelnavn

Følg disse prinsippene når du velger variabelnavn:

  1. Ikke benytt et innebygd nøkkelord eller funksjonsnavn fra Python som variabelnavn.

    • Nøkkelord med spesielle betydninger i Python 3 er: False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield.
    • Innebygde funksjoner i Python 3 er f. eks: abs bool float input int len max min print sum str type. For uttømmende liste, se https://docs.python.org/3/library/functions.html.

  2. Variabelnavnet skal være selvforklarende og beskrive sin egen rolle.

# Dårlig
s = "L"
# Bra
shirt_size = "L"
  1. Benytt kun små bokstaver. Selv om det teknisk sett er mulig å bruke store bokstaver, unngår vi det. Store bokstaver holder vi unna og bruker bare til spesielle formål, f. eks. konstanter (se under).
# Dårlig
Name = "Siri"
# Bra
name = "Siri"
  1. Benytt _ for å representere mellomrom, såkalt snake_case. Merk at du noen steder vil se lowerCamelCase som er ansett for å være god stil i en del andre programmeringsspråk. Vi godtar begge deler, men vær konsekvent.
# Tja
numberOfPeople = 42
# Offisiell python-stil
number_of_people = 42

Noen ganger oppretter vi en variabel som får en fast verdi når programmet starter, og som deretter aldri skal endre verdi. Dette er en såkalt konstant. Det er god stil å la konstanter være skrevet i UPPER_CASE.

# Dårlig
minimum_age = 12
# Bra
MINIMUM_AGE = 12