Podcast Praktisk Python – Din Lydguide til Python Programmering 3 - itnett/FTD02H-N GitHub Wiki

La oss starte med en grundigere forklaring av de emnene du nevner, og samtidig sørge for en klar progresjon i hvordan vi bygger opp forståelsen av Python-syntaks og semantikk. Dette er avgjørende for å utvikle ferdigheter som går utover bare å "bruke" koden, men å tenke som en programmerer.

1. Programmering som en måte å tenke på 💻🧠

Programmering er ikke bare å skrive kode, men en måte å løse problemer på. Det handler om å bryte ned komplekse oppgaver i enkle steg, forstå hvordan systemer fungerer, og hvordan vi kan instruere maskiner til å utføre disse oppgavene.

  • Syntaks refererer til reglene som bestemmer hvordan vi strukturerer setninger i et programmeringsspråk.
  • Semantikk refererer til meningen bak disse reglene. Med andre ord, hva koden gjør, ikke bare hvordan den ser ut.

I Python, betyr dette å bruke riktig grammatikk og samtidig forstå hvordan kommandoene får Python til å utføre de ønskede handlingene.


2. Variabler og utsagn 📝

Variabler er bokser som holder på data. Hver variabel har et navn (en etikett) og inneholder en verdi. Verdien kan være tall, tekst, lister eller andre typer data.

Eksempel:

navn = "Ola"
alder = 25

Her er navn og alder variabler som lagrer informasjonen "Ola" og 25. Python tolker variabelen navn som tekst (streng) fordi vi bruker anførselstegn, og alder som et tall (heltall) uten anførselstegn.

🎙️ Oppsummering:

  • Syntaks: Hvordan vi skriver variabler (=, anførselstegn for strenger).
  • Semantikk: Hva koden betyr (lagring av data).

3. Funksjoner 📦

Funksjoner er gjenbrukbare biter kode som tar inn data, gjør noe med dem, og returnerer en verdi. Tenk på dem som oppskrifter.

Eksempel på en funksjon som legger sammen to tall:

def legg_sammen(a, b):
    return a + b

🎙️ Lesing av syntaks:

  • def definerer en funksjon. a og b er parametere, og return sier hva funksjonen skal gi tilbake.

Funksjoner hjelper deg å strukturere koden din, så du ikke skriver samme kode flere ganger.


4. Funksjoner og grensesnitt 🔄

Et grensesnitt er en måte funksjoner kommuniserer med andre deler av koden. Funksjoner kan ta inn data (input) og gi ut et resultat (output).

🎙️ Eksempel:

def si_hei(navn):
    return f"Hei, {navn}!"

Her er navn inputen, og meldingen "Hei, ..." er outputen. Dette grensesnittet gjør at funksjonen kan bruke hvilken som helst verdi som blir sendt inn i stedet for navnet.


5. Betingelser og rekursjon 🔁

Betingelser lar koden din velge mellom ulike retninger basert på bestemte vilkår. Dette gjør Python kraftfullt til å ta avgjørelser.

Eksempel på betingelser:

alder = 17
if alder >= 18:
    print("Du er voksen.")
else:
    print("Du er ikke voksen ennå.")

🎙️ Lesing av syntaks:

  • if starter betingelsen, >= betyr "større enn eller lik".
  • else er alternativet hvis betingelsen ikke er oppfylt.

Rekursjon er når en funksjon kaller seg selv for å løse en oppgave i mindre biter.


6. Returnere verdier 📤

Når en funksjon er ferdig med å gjøre noe, vil den ofte returnere et resultat tilbake til der funksjonen ble kalt.

🎙️ Eksempel:

def kvadrat(x):
    return x * x

Her returnerer funksjonen resultatet av at tallet x multipliseres med seg selv.


7. Iterasjon og søk 🔄🔍

Iterasjon betyr å gå gjennom data steg for steg. Dette kan gjøres med løkker som for og while.

Eksempel:

navn_liste = ["Ola", "Kari", "Jonas"]
for navn in navn_liste:
    print(navn)

Her går vi gjennom listen av navn og skriver dem ut ett etter ett.


8. Strenger og regulære uttrykk 📜🔍

Strenger er tekst i Python, og de kan behandles som hvilken som helst annen data. Regulære uttrykk (regex) er et kraftig verktøy for å søke etter mønstre i strenger, som for eksempel e-postadresser.

🎙️ Eksempel:

import re
tekst = "Kontakt oss på [email protected]"
email = re.search(r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", tekst)
if email:
    print("Fant en e-postadresse:", email.group())

9. Lister 📋

Lister brukes til å lagre flere elementer i én variabel.

🎙️ Eksempel:

frukt = ["eple", "banan", "appelsin"]
print(frukt[1])  # Skriver ut "banan"

Lister er ordnede sekvenser, og vi kan bruke indekser for å hente spesifikke elementer.


10. Ordbøker 📖

Ordbøker lagrer data som nøkkel-verdi-par.

🎙️ Eksempel:

person = {"navn": "Ola", "alder": 25}
print(person["navn"])  # Skriver ut "Ola"

11. Tupler 🛠️

Tupler er som lister, men de er uforanderlige. Når du har definert en tuple, kan du ikke endre den.

🎙️ Eksempel:

farger = ("rød", "blå", "grønn")

12. Tekstanalyse og generering 🔍📝

Python er kraftig når det gjelder å analysere og generere tekst. Dette kan være nyttig i mange sammenhenger, for eksempel å lage automatiske rapporter.


13. Filer og databaser 📂🗃️

Å lese og skrive til filer lar oss lagre data mellom kjøringer av et program. Python gjør dette enkelt med open(), som vi vil gå nærmere inn på senere.


14-17. Objektorientert programmering (OOP) 👩‍💻👨‍💻

OOP er en måte å strukturere programmet på ved å bruke objekter. Objekter er samlinger av data (attributter) og funksjoner (metoder) som arbeider sammen.

  • Klasser er malene som lager objekter.
  • Arv betyr at en klasse kan arve egenskaper fra en annen klasse, noe som gir gjenbruk av kode.

🎙️ Eksempel på en klasse:

class Bil:
    def __init__(self, merke, modell):
        self.merke = merke
        self.modell = modell
    
    def kjør(self):
        print(f"{self.merke} {self.modell} kjører.")

18. Python-ekstrautstyr 🛠️

Vi har sett hvordan Python kan brukes til å lage enkle programmer, men Python har også avanserte verktøy og biblioteker for webutvikling, dataanalyse, maskinlæring, og mye mer.


19. Avsluttende tanker 💭

Vi har dekket mange grunnleggende konsepter som du vil bruke gjennom hele din programmeringsreise. Neste steg er å eksperimentere med å bruke disse konseptene i små prosjekter, for å virkelig forstå dem.

I neste episode skal vi dykke dypere inn i filbehandling og hvordan Python kan lese og skrive filer.