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

  1. 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}

  1. Defaultdict: En ordbok som automatisk gir en standardverdi for manglende nøkler.

Eksempel: from collections import defaultdict

  1. 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}

  1. Heapq: Brukes til å lage prioritetskøer.

Eksempel: heapq.heappush() for å legge til elementer etter prioritet.

  1. Deque: En dobbeltkø der elementer kan legges til og fjernes fra begge sider.

Eksempel: from collections import deque

  1. 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]

  1. 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]

  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.

  1. Map: Brukes til å bruke en funksjon på alle elementene i en samling.

Eksempel: map(str, [1, 2, 3]) konverterer tallene til strenger.

  1. 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)

  1. Klasser: En klasse er en mal for å lage objekter. Den definerer egenskaper (attributter) og oppførsel (metoder).

Eksempel: class Person: pass

  1. Objekter: Objekter er instanser av klasser. Hvert objekt har sin egen tilstand og oppførsel.

Eksempel: ola = Person()

  1. 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

  1. 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

  1. 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}")

  1. Arv: Arv lar en klasse bruke egenskaper og metoder fra en annen klasse.

Eksempel: class Student(Person):

  1. Super: Brukes for å kalle metoder fra en forelderklasse i en subklasse.

Eksempel: super().init(navn)

  1. Encapsulation (Innkapsling): Begrens tilgang til bestemte metoder og variabler for å beskytte objektets tilstand.

Eksempel: Private variabler kan skrives med et prefiks _.

  1. Polymorfi: Tillater bruk av samme metode på forskjellige typer objekter.

Eksempel: En si_hei-metode som fungerer forskjellig for Student og Lærer.

  1. 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

  1. Åpne filer: Bruk open() for å åpne en fil.

Eksempel: with open("fil.txt", "r") as f:

  1. Les filer: Du kan bruke .read() for å lese hele innholdet i en fil.

Eksempel: data = f.read()

  1. Skrive til filer: Bruk "w"-modus for å skrive til en fil.

Eksempel: with open("fil.txt", "w") as f: f.write("Hei!")

  1. Lukke filer: Bruk av with gjør at filen automatisk lukkes etter bruk.

Eksempel: Ingen eksplisitt lukking kreves når with brukes.

  1. Unntak (Exceptions): Brukes for å håndtere feil som oppstår under kjøring av kode.

Eksempel: try: ... except: ...

  1. Try/Except: Brukes for å "fange" feil og forhindre at programmet krasjer.

Eksempel: try: a = 1 / 0 except ZeroDivisionError: print("Kan ikke dele på null!")

  1. Raise: Hvis du vil kaste en feil med vilje, kan du bruke raise.

Eksempel: raise ValueError("Dette er en feil!")

  1. 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!")

  1. With: En elegant måte å håndtere ressurser som filer eller databaser som automatisk lukkes etter bruk.

Eksempel: with open("fil.txt") as fil:

  1. 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

  1. API (Application Programming Interface): Tillater kommunikasjon mellom programvarekomponenter ved å sende forespørsler og få svar.

Eksempel: Forespørsler til web-API-er med requests.

  1. REST API: En type API som bruker HTTP-metoder som GET, POST, PUT, DELETE for å kommunisere.

Eksempel: requests.get("https://api.exapmle.com")

  1. GET Forespørsel: Henter data fra en server.

Eksempel: requests.get(url)

  1. POST Forespørsel: Sender data til en server.

Eksempel: requests.post(url, data={})

  1. Statuskoder: API-svar kommer ofte med HTTP-statuskoder som 200 (OK), 404 (Not Found), og 500 (Server Error).

Eksempel: response.status_code

  1. JSON (JavaScript Object Notation): Et dataformat for å sende strukturerte data over nettverket.

Eksempel: response.json()

  1. Unittest: Et rammeverk i Python for å teste koden.

Eksempel: import unittest

  1. Testing av funksjoner: Du kan skrive tester som sjekker om funksjoner gir riktig resultat.

Eksempel: self.assertEqual(funksjon(), forventet_verdi)

  1. 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

  1. Automatisk Testing: Du kan bruke rammeverk som pytest for å kjøre tester automatisk og kontinuerlig.