Gå til innhold

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.

name = input("What is your name? ")
print(f"Hello, {name}!")

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]

Nyttige innebygde funksjoner

numbers = [3, 1, 4, 1, 5, 9, 2, 6]

len(numbers)       # 8 (length)
sum(numbers)       # 31
min(numbers)       # 1
max(numbers)       # 9
sorted(numbers)    # [1, 1, 2, 3, 4, 5, 6, 9]

abs(-5)            # 5 (absolute value)
round(3.7)         # 4
round(3.14159, 2)  # 3.14