Python Konsepter
Konsepter som er unike eller spesielle for Python.
print()
Skriver ut tekst til konsollen.
print("Hello world")
print("Name:", "Ola") # Multiple values
print("Age:", 25) # Mix text and numbers
print("A", "B", "C", sep="-") # A-B-C (custom separator)
f-strings (formatert tekst)
name = "Ola"
age = 25
print(f"Hi, my name is {name} and I am {age} years old")
print(f"Next year I will be {age + 1} years old")
print(f"Price: {99.5:.2f} kr") # 99.50 (2 decimals)
input()
Leser tekst fra brukeren. Returnerer alltid en string.
OBS
input() returnerer alltid tekst (string), selv om brukeren skriver tall.
# This does NOT work as expected:
age = input("Age: ")
print(age + 1) # Error! Cannot add text and number
# Correct way:
age = int(input("Age: "))
print(age + 1) # Works!
Type Casting
Konverterer mellom datatyper.
| Funksjon | Konverterer til | Eksempel |
|---|---|---|
int() |
Heltall | int("42") → 42 |
float() |
Desimaltall | float("3.14") → 3.14 |
str() |
Tekst | str(42) → "42" |
bool() |
Boolsk | bool(1) → True |
list() |
Liste | list("abc") → ["a","b","c"] |
Indentasjon
Python bruker innrykk (spaces/tabs) for å definere kodeblokker.
# Correct - 4 spaces indentation
if age >= 18:
print("You are an adult")
print("Congratulations!")
# WRONG - missing indentation
if age >= 18:
print("You are an adult") # IndentationError!
Tip
Bruk alltid 4 spaces for innrykk. Ikke bland spaces og tabs.
range()
Genererer en sekvens av tall. Brukes ofte med for-løkker.
# range(stop) - from 0 to stop-1
for i in range(5):
print(i) # 0, 1, 2, 3, 4
# range(start, stop)
for i in range(2, 6):
print(i) # 2, 3, 4, 5
# range(start, stop, step)
for i in range(0, 10, 2):
print(i) # 0, 2, 4, 6, 8
# Count down
for i in range(5, 0, -1):
print(i) # 5, 4, 3, 2, 1
elif
Pythons måte å skrive "else if".
score = 75
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 60:
print("C")
else:
print("F")
Lister
Ordnet samling av verdier.
# Create
fruits = ["apple", "banana", "orange"]
# Access (index starts at 0)
print(fruits[0]) # "apple"
print(fruits[-1]) # "orange" (last)
# Modify
fruits[1] = "pear"
fruits.append("mango") # Add to end
fruits.remove("apple") # Remove by value
# Check if exists
if "banana" in fruits:
print("Banana exists!")
Slicing
numbers = [0, 1, 2, 3, 4, 5]
print(numbers[1:4]) # [1, 2, 3]
print(numbers[:3]) # [0, 1, 2]
print(numbers[3:]) # [3, 4, 5]
print(numbers[::2]) # [0, 2, 4] (every other)
print(numbers[::-1]) # [5, 4, 3, 2, 1, 0] (reversed)
Dictionaries
Samling av nøkkel-verdi par.
# Create
person = {
"name": "Ola",
"age": 25,
"city": "Oslo"
}
# Access
print(person["name"]) # "Ola"
print(person.get("job")) # None (doesn't exist)
# Change/add
person["age"] = 26
person["job"] = "Developer"
# Iterate
for key, value in person.items():
print(f"{key}: {value}")
String-metoder
text = " Hello World "
text.lower() # " hello world "
text.upper() # " HELLO WORLD "
text.strip() # "Hello World"
text.replace("Hello", "Hi") # " Hi World "
text.split() # ["Hello", "World"]
"Hello world".startswith("Hello") # True
"Hello world".find("wor") # 6 (index)
List Comprehension
Kompakt måte å lage lister.
# Regular way
squares = []
for x in range(5):
squares.append(x ** 2)
# With list comprehension
squares = [x ** 2 for x in range(5)]
# [0, 1, 4, 9, 16]
# With condition
even = [x for x in range(10) if x % 2 == 0]
# [0, 2, 4, 6, 8]