Lær Python
Mellemtrin
Moduler, virtuelle miljøer, filer, JSON, OOP, typing og tests.
Virtuelt miljø og pakker
python -m venv .venvWindows:
.venv\Scripts\activate
python -m pip install requestsLinux:
source .venv/bin/activate
python -m pip install requestsEt virtuelt miljø isolerer projektets dependencies fra resten af systemet.
Moduler
prices.py:
TAX_RATE = 0.25
def with_tax(price: float) -> float:
return price * (1 + TAX_RATE)main.py:
from prices import with_tax
print(with_tax(100))Filer og JSON
from pathlib import Path
import json
path = Path("users.json")
users = [{"name": "Alex", "balance": 500}]
path.write_text(json.dumps(users, indent=2), encoding="utf-8")
loaded = json.loads(path.read_text(encoding="utf-8"))Brug pathlib i stedet for at sammensætte stier manuelt med slash-tegn.
Klasser og dataclasses
from dataclasses import dataclass
@dataclass
class Account:
owner: str
balance: int = 0
def deposit(self, amount: int) -> None:
if amount <= 0:
raise ValueError("Beløbet skal være positivt")
self.balance += amountBrug klasser, når data og adfærd naturligt hører sammen. Brug almindelige funktioner og dictionaries, når de er enklere.
Typing
def find_user(user_id: int, users: dict[int, str]) -> str | None:
return users.get(user_id)Type hints kontrolleres ikke automatisk ved runtime, men hjælper editor, type checker og læseren.
Tests
def add(a: int, b: int) -> int:
return a + b
def test_add() -> None:
assert add(2, 3) == 5Kør med pytest:
python -m pip install pytest
pytestTest normal adfærd, grænsetilfælde og forventede fejl.
Næste projekt
Gennemgå PixelVault-koden. Find CLI-entrypoint, encoder, decoder, formatdefinition og tests, og tegn dataflowet fra inputfil til PNG og tilbage.