Typer
- Vanlige typer
- Typen avgjør hva en operasjon betyr
- Typekonvertering
- Enkle eksempler på bruk av ulike typer
Vanlige typer
Enhver verdi har en type (også kalt klasse). Det er mange ulike typer som er innebygget i Python. For å se hvilken type en verdi har, kan vi benytte en funksjon som heter type
. Her er en oversikt over de aller viktigste typene, som vi hele tiden støter på i Python:
print('Noen elementære typer i Python:')
print(type('foo')) # str (streng/tekst)
print(type(2)) # int (heltall)
print(type(2.2)) # float (flyttall/desimaltall)
print(type(True)) # bool (boolsk verdi; True eller False)
print(type(None)) # NoneType («ingenting» -verdien har egen type)
print(type([1, 2, 3, 4])) # list (en liste av andre verdier)
print()
print('Flere viktige typer vi skal lære om senere')
print(type((1, 2, 3, 4))) # tuple
print(type({1, 2, 3, 4})) # set
print(type({1: 2, 3: 4})) # dict
Typen avgjør hva en operasjon betyr
# Asterisk (*) betyr forskjellige ting (f.eks. multiplikasjon el. repetisjon)
print(3 * 2) # 6
print(3 * 'abc') # 'abcabcabc'
print(3 * [1, 2, 3]) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
# Plusstegn (+) betyr forskjellige ting (f.eks. addisjon eller konkatenasjon)
print(3 + 2) # 5
print('3' + '2') # '32'
print([1, 2, 3] + [4, 5]) # [1, 2, 3, 4, 5]
# Ikke alle operasjoner er definert for alle (kombinasjoner av) typer
print(3 + 'def') # Krasjer med TypeError
print('abc' * 'def') # Krasjer med TypeError
Typekonvertering
Vi kan konvertere mellom typer ved å bruke funksjoner med samme navn som typen.
# Konvertering fra streng
s = '42'
i = int(s) # Konverterer fra streng til heltall
f = float(s) # Konverterer fra streng til desimaltall
a = list(s) # Konverterer fra streng til liste
print(s) # 42
print(i) # 42
print(f) # 42.0
print(a) # ['4', '2']
print()
print(type(s)) # <class 'str'>
print(type(i)) # <class 'int'>
print(type(f)) # <class 'float'>
print(type(a)) # <class 'list'>
# Konvertering flyttall -> heltall -> flyttall
x = 4.9
y = int(x) # runder av nedover (mot negativ uendelig)
z = float(y) # konverterer tilbake til flyttall
print(x) # 4.9
print(y) # 4
print(z) # 4.0
print(type(x)) # <class 'float'>
print(type(y)) # <class 'int'>
print(type(z)) # <class 'float'>
Enkle eksempler på bruk av ulike typer
int |
|
float |
|
Alle heltall kan brukes som om de var flyttall. |
|
bool |
|
Når man sammenligner ting med hverandre, får vi alltid en boolsk verdi tilbake. |
|
str |
|
list |
|