PythonPodcast 21 - itnett/FTD02H-N GitHub Wiki
Her kommer fortsettelsen av 100 Python Begreper på 100 Minutter, der vi tar for oss neste del av episoden med begrepene 41 til 100. 🎧🎙️
41-50: Avanserte Datastrukturer og Operasjoner
- Dictionary Comprehension: Akkurat som list comprehension, men for ordbøker.
Eksempel: {x: x**2 for x in range(5)} gir {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
- Defaultdict: En ordbok som automatisk gir en standardverdi for manglende nøkler.
Eksempel: from collections import defaultdict
- Counter: En måte å telle antall forekomster av elementer i en samling.
Eksempel: Counter([1, 1, 2, 3, 4, 1]) gir {1: 3, 2: 1, 3: 1, 4: 1}
- Heapq: Brukes til å lage prioritetskøer.
Eksempel: heapq.heappush() for å legge til elementer etter prioritet.
- Deque: En dobbeltkø der elementer kan legges til og fjernes fra begge sider.
Eksempel: from collections import deque
- Sortering av lister: Du kan sortere lister enten med sorted()-funksjonen eller ved å bruke .sort()-metoden på listen.
Eksempel: sorted([3, 1, 2]) gir [1, 2, 3]
- Reversere en liste: Med reversed()-funksjonen kan du få elementene i en liste i omvendt rekkefølge.
Eksempel: list(reversed([1, 2, 3])) gir [3, 2, 1]
- Enumerate: Kombinerer en teller med iterasjonen over elementer i en liste.
Eksempel: for i, verdi in enumerate(["a", "b", "c"]) gir indeks og verdi samtidig.
- Map: Brukes til å bruke en funksjon på alle elementene i en samling.
Eksempel: map(str, [1, 2, 3]) konverterer tallene til strenger.
- Filter: Brukes til å filtrere elementer ut av en liste basert på en betingelse.
Eksempel: filter(lambda x: x > 2, [1, 2, 3, 4]) gir elementene større enn 2.
51-60: Objektorientert Programmering (OOP)
- Klasser: En klasse er en mal for å lage objekter. Den definerer egenskaper (attributter) og oppførsel (metoder).
Eksempel: class Person: pass
- Objekter: Objekter er instanser av klasser. Hvert objekt har sin egen tilstand og oppførsel.
Eksempel: ola = Person()
- Konstruktør: Konstruktøren i en klasse brukes til å initialisere objektets tilstand når det opprettes. Dette gjøres ved å bruke init-metoden.
Eksempel: def init(self, navn): self.navn = navn
- Selv (self): self refererer til objektet som kaller metoden. Det må alltid være det første argumentet i metoder i klassen.
Eksempel: self.navn = navn
- Metoder: Funksjoner som er definert inne i en klasse. De opererer på objekter av denne klassen.
Eksempel: def si_hei(self): print(f"Hei, jeg heter {self.navn}")
- Arv: Arv lar en klasse bruke egenskaper og metoder fra en annen klasse.
Eksempel: class Student(Person):
- Super: Brukes for å kalle metoder fra en forelderklasse i en subklasse.
Eksempel: super().init(navn)
- Encapsulation (Innkapsling): Begrens tilgang til bestemte metoder og variabler for å beskytte objektets tilstand.
Eksempel: Private variabler kan skrives med et prefiks _.
- Polymorfi: Tillater bruk av samme metode på forskjellige typer objekter.
Eksempel: En si_hei-metode som fungerer forskjellig for Student og Lærer.
- Dunder-metoder (Magic methods): Metoder som begynner og slutter med __, som str eller repr, brukes for spesialoperasjoner.
Eksempel: def str(self): definerer hvordan et objekt blir printet.
61-70: Filhåndtering og Unntaksbehandling
- Åpne filer: Bruk open() for å åpne en fil.
Eksempel: with open("fil.txt", "r") as f:
- Les filer: Du kan bruke .read() for å lese hele innholdet i en fil.
Eksempel: data = f.read()
- Skrive til filer: Bruk "w"-modus for å skrive til en fil.
Eksempel: with open("fil.txt", "w") as f: f.write("Hei!")
- Lukke filer: Bruk av with gjør at filen automatisk lukkes etter bruk.
Eksempel: Ingen eksplisitt lukking kreves når with brukes.
- Unntak (Exceptions): Brukes for å håndtere feil som oppstår under kjøring av kode.
Eksempel: try: ... except: ...
- Try/Except: Brukes for å "fange" feil og forhindre at programmet krasjer.
Eksempel: try: a = 1 / 0 except ZeroDivisionError: print("Kan ikke dele på null!")
- Raise: Hvis du vil kaste en feil med vilje, kan du bruke raise.
Eksempel: raise ValueError("Dette er en feil!")
- Finally: Blokk med kode som alltid kjøres etter try og except, enten det oppstår en feil eller ikke.
Eksempel: finally: print("Rengjøring!")
- With: En elegant måte å håndtere ressurser som filer eller databaser som automatisk lukkes etter bruk.
Eksempel: with open("fil.txt") as fil:
- Assert: Brukes til å teste en påstand. Hvis påstanden er feil, kaster det en feil.
Eksempel: assert x == 10, "x må være 10"
71-80: API-er og Feiltesting
- API (Application Programming Interface): Tillater kommunikasjon mellom programvarekomponenter ved å sende forespørsler og få svar.
Eksempel: Forespørsler til web-API-er med requests.
- REST API: En type API som bruker HTTP-metoder som GET, POST, PUT, DELETE for å kommunisere.
Eksempel: requests.get("https://api.exapmle.com")
- GET Forespørsel: Henter data fra en server.
Eksempel: requests.get(url)
- POST Forespørsel: Sender data til en server.
Eksempel: requests.post(url, data={})
- Statuskoder: API-svar kommer ofte med HTTP-statuskoder som 200 (OK), 404 (Not Found), og 500 (Server Error).
Eksempel: response.status_code
- JSON (JavaScript Object Notation): Et dataformat for å sende strukturerte data over nettverket.
Eksempel: response.json()
- Unittest: Et rammeverk i Python for å teste koden.
Eksempel: import unittest
- Testing av funksjoner: Du kan skrive tester som sjekker om funksjoner gir riktig resultat.
Eksempel: self.assertEqual(funksjon(), forventet_verdi)
- Mocking: Brukes i testing for å "late som" om en funksjon eller del av systemet oppfører seg på en bestemt måte.
Eksempel: from unittest.mock import patch
- Automatisk Testing: Du kan bruke rammeverk som pytest for å kjøre tester automatisk og kontinuerlig.