Oversigt over Pythons vigtigste byggestene

Objektorienteret programmering
Tankegangen er at foretage programmering ved at genbruge en række objekter og binde
dem sammen på den rette måde med lidt ekstra kode. Python er videreudviklet oven på
den tankegang og har fået sit navn efter Monty Python.
Alt i Python er i princippet objekter.

Moduler

Der er en lang stribe moduler til python. Nogle er med fra begyndelsen, andre skal hentes særskilt. Et modul indeholder typisk definitioner af en række funktioner, som man skal bruge til en bestemt opgave. Det kan for eksempel være at åbne websider.

Pakker

Pakker er en samling af flere moduler.

Klasser

Klasser er typisk veldefinerede enheder med en egenskab, hvortil kan knyttes forskellige funktioner og metoder.
Klasser kan være hierarkiske, dvs. et niveau i klassen er indeholdt i det højere niveau (Bil, Motor, Stempel) eller en klasse kan være sideordnet, (Elektrisk apparat, Radio, Brødrister).
Klasser skrives med stort begyndelsesbogstav, mens objekter generelt skrives med lille begyndelsesbogstav.

Variable

En variabel er et navn bundet til en streng, et nummer eller et objekt. Det kan redefineres, og hermed ophæver det den tidligere definition. Variabelnavne skal begynde med et bogstav, men kan ellers indeholde tal og underscore.
x = 42
Her er x variablen, og den sættes lig med 42.
Du kan også definere flere variable på en gang:
x,y,z = 1,2,3.
Når du definerer variable, bruges ét lighedstegn. Bruges der to lighedstegn (==) tjekker
Python, om to ting er identiske og returnerer enten True eller False.
Nogle variabler skrives med to underscore først (__). De er forbeholdt helt særlige opgaver.

Strenge

Tænk på en streng som en tekst-streng. Indholdet er omklamret af enten enkelte eller
dobbelte anførselstegn omkring (’ eller ”). Indgår anførselstegn/citationstegn i strengen,
kan man markere, at den ikke slutter ved at indsætte backslash-tegnet \ før ”.
Et par eksempler på strenge:
”Dette er en streng”
’Bagerbutikken hedder Johansen\’s konditori’

Lister

Lister er en serie af værdier, fx [’Jan’, ’Ole’, ’Per’] eller [1, 2, 3]. En liste vises med
kantede parenteser, [ ]. En liste kan være tom, og man kan undervejs i filen tilføje og
fjerne indhold fra en liste. Den er mutable – det vil sige, at den kan ændres.
Tilføjelse af indhold sker typisk med funktionerne append (et element i slutningen),
extend (en stribe elementer i slutningen) og insert (her angiver du med et inex-tal, hvor i
listen elementet sættes ind ).
Lister kan indexeres. Det første element i listen har altid nummer 0 og herefter tælles
opad.

Vil man vise den første værdi fra listen navne, kan man altså skrive navne[0]
Vil man udvælge flere værdier fra en liste, gør man det ved at slice:
[1:3] vælger to elementer – det 1. og 2. element (dvs. ikke det 0’te element).
[:3] vælger 0’te, 1. og 2. element.
[1:] vælger alt fra og med det 1. element og frem (men ikke det 0’te).
[-1] vælger det sidste element i listen.
Vil man have et element fjernet fra en liste, kan man bruge pop, der tager det første element fra listen, returnerer det og fjerner det fra listen.

Tupler

Er en sekvens af værdier, der ikke kan ændres, dvs. de er immutable. De vises ved almindelige parenteser med komma mellem værdier (1, 2, 3). Er der kun en værdi i tuplen, skal der også være komma, dvs (1,).
Eksempel:
t1 = (1, 2, 3)

Funktioner

Virker som i Excel – de tager nogle argumenter og returner et resultat. Tænk fx på SUMfunktionen.
Også i Python skal der være et input, og man får et resultat. Man kan selv definere funktioner eller bruge dem, som Python har defineret, eller som ligger i moduler.
Hvis man fx har defineret en funktion ianden() som, at det, der skrives i parentesen, skal ganges med sig selv, vil man fx senere kunne skrive ianden(4) og få 16 som resultat.
Denne funktion vil i Python fx kunne defineres sådan her:
Def ianden(x): #Her definerer jeg en funktion, der skal hedde ianden
Return x*x #Her siger jeg, at funktionen skal gange det indtastede med sig selv og returnere resultatet

Bibliotek (dictionary på engelsk)
Er et sæt af par, der hænger sammen, for eksempel navn og alder. De skrives med væltet
tuborg. Venstre enhed er nøglen (key), højre er værdien (value), for eksempel i et
bibliotek over navne og alder { ’Alice’ : 42, ’Bob’ : 48}.

Særlige Python-regler
Python er case sensitive, dvs. følsom over for små og store bogstaver.
I styresystemet Linux skal Python-scripts (programmer med Python-kode – fx mitProgram.py) begynde med linjen:
#!/usr/bin/python
Det har ingen betydning i Windows, men er klogt altid at have med, så filen kan køre i Linux.
Bruger man andre karakterer end ACSII (fx danske bogstaver), kan denne kodning benyttes i starten af filen:
# -*- coding: UTF-8 -*-
Det vil typisk også være nødvendigt at tilføje yderligere oplysninger om om-kodningen nede i programmet.

Bemærk dog, at ingen af disse ting er relevante i løbet af den kode, vi kommer skrive under dette kursus, da vi kommer til at arbejde i notebooks – og ikke .py-scripts.

Der er lukket for kommentarer.