Python - fremtidens scriptingsprog

Det objektorienterede programmeringssprog Python vinder mere og mere popularitet, og det er ikke så underligt. Python er nemt, simpelt, er rettet imod alle typer applikationer og kommer med en lang række klassebiblioteker. Vi sætter lys på et ungt programmeringssprog, der har overbevist forbavsende mange på ganske kort tid.

Dynamiske typer

Så forskellige mennesker som open source-giraffen Eric Raymond og den tidligere C++-guru Bruce Eckel er at finde i fanskaren for Python, et moderne open-source scriptingsprog, som har fået mange med på holdet i løbet af ganske kort tid.

Pythons succes har bund i en række faktorer. Python er nemt at lære, og bygger på få sprogkonstruktioner. Syntaksen ligner mange andre "almindelige" sprog, og er faktisk simplere end de fleste. Python er objektorienteret på et højt plan, og understøtter funktioner som introspektion, som tillader kode at undersøge anden kode.

Men de procedurale programmører er ikke tvunget til at sætte sig ind i objekt-verdenens koncepter for at få glæde af Python. I lighed med JavaScript (men i modsætning til Java) kan man benytte funktioner til at kaste objekter ud af ærmet, uden at skulle benytte egentlige klassedefinitioner. Men klassedefinitioner er til stede, og Python kan glimrende bruges til at komme fra den procedurale verden og over i objektorientering.

Dynamiske typer
Som så mange andre scriptingsprog benytter Python dynamiske typer, hvor en variabels type afgøres under kørslen. Ligesom de fleste moderne scriptingsprog og sprog som Java og Microsofts nye .Net-sprog benytter Python bytecode, hvor et programs kildetekst oversættes til en række atomare instruktioner, en slags pseudo-assembler. Dette gør sproget hurtigere end de gammeldags scriptingsprog, som fortolkes linie for linie.

Hvis det ikke er nok, så har Python en meget høj grad af platformsuafhængighed - højere end Java, faktisk. Den første implementering var på Macintosh, men i dag findes sproget på Linux/Unix, Windows, OS/2 og Amiga.

Funktionalitet som dynamiske typer gør sproget langsommere end for eksempel Java, og Perl-scripts vil som regel også afvikles hurtigere end tilsvarende programmer i Python. Det betyder dog ikke, at det ikke er muligt at udvikle stærke applikationer under Python. Applikationsserveren Zope er et godt eksempel herpå. Zope er en kompleks og effektiv applikationsserver, som har vundet stor udbredelse på grund af sin effektivitet og stringente design.

Derudover findes der værktøjer, som kan generere kompilerbar C-kode ud fra Python-kode, og Python-kode kan indlejres i et eksekverbart program, som indeholder både bytecode og fortolker.

Projektet Jython trækker tråde imellem Java og Python. Jython er en implementering af Python i Java. Det gør det muligt at skabe Java-applikationer, som kan scriptes med Python. Da Python er væsentligt nemmere at gå til end Java, sætter det altså et større publikum i stand til at styre sådanne Java-applikationer.

Tættere på slangen

Python er opfundet af den hollandske programmør Guido van Rossum, som startede projektet for at have noget at gøre på de lange vinteraftener. Navnet hentyder i øvrigt til Monty Python og ikke reptilet. Van Rossums mål var at bygge på et undervisningssprog med navnet ABC, som aldrig fik den store udbredelse. Python låner i en vis grad ideer fra Pascal-efterfølgeren Modula, med inspiration fra det objektorienterede sprog SmallTalk samt det effektive, men svært forståelige sprog Lisp, som nyder stor udbredelse i akademiske kredse.

Et Python-program, som udskriver Fibonacci-tallene mindre end 10, kan se sådan ud:

a, b = 0, 1
while b < 10:
       print b
       a, b = b, a+b

I første linie tilskrives variablerne a og b henholdsvis værdierne 0 og 1. Sådanne multiple tilskrivninger går stærkt, og de ses ofte i Python-verdenen. I den næste linie ses en af de ting, som ofte får Python-begyndere til at studse. I modsætning til de fleste andre moderne sprog benytter Python indrykning til at markere blokstrukturer. Der er ikke behov for BEGIN- og END-nøgleord eller krøllede parenteser, og heller ikke afslutningsbrikker (tokens) som semikolon eller andet.

Mange programmører finder en smule ubehag ved den slags, men det har den virkning, at alle Python-programmer ser ens ud. Der er altså ikke noget grundlag for diskussioner om den krøllede parentes skal stå i slutningen af linien eller i starten af næste linie, og derudover indebærer det, at alle Python-programmører nemt kan læse hinandens programmer. Ideen er kendt fra ældre programmeringssprog, men også fra moderne scriptingsprog så som HyperTalk (i Apples HyperCard) og Lingo (i Macromedias Director).

Python indeholder en lang række stærke datastrukturer som lister og associative arrays. Undtagelseshåndtering (exceptions) er indbygget i sproget, og sproget er i det hele taget meget generøst, og byder blandt andet på nem overloading.

GUI

Python er nemt at programmere i, og de overbeviste mener, at Python-programmer kan skrives langt hurtigere end for eksempel Java. Den slags udsagn plejer tilhængere af specifikke sprog gerne at stryge omkring sig med løs hånd, men givet er det, at de fleste, som giver Python en chance, ofte overraskes over, hvor nemt det er at komme i gang med.

I et moderne sprog forventer man at få et antal klassebiblioteker med, så man ikke skal opfinde hjulet selv, og her kan Python også være med. Sproget kommer med mange moduler, som dækker over alle de områder, et generelt programmeringssprog må forventes at adressere. Netværksprogrammering, XML, mediemanipulation, sikkerhed og kryptering, GUI-biblioteker og mange platformsspecifikke moduler følger med Python.

Python har ikke sit eget GUI-miljø som Javas Swing, men understøtter en lang række platformsafhængige og -uafhængige værktøjssæt til GUI-bygning, herunder Qt og MFC, som jo benyttes under henholdsvis Linux og Windows.

Men GUI-biblioteket Tk, som oprindeligt er udviklet til Unix-scriptingsproget Tcl, er blevet en de facto-standard i Python. Tk findes til både Linux/Unix, Windows og Macintosh, og på den måde kan man altså udvikle platformsuafhængige GUI-applikationer.

Tk har et "født" udseende på hver af de tre platforme, så under Windows har de Tk-baserede programmer samme udseende som Windows-programmer normalt har. Det samme gør sig gældende på andre platforme. Python-GUI-applikationer behøves altså ikke at se anderledes ud end andre platformsspecifikke applikationer. I Python-distributionen medfølger i øvrigt et rudimentært IDE, Idle, som bygger på Tk.


Idle er et begrænset men brugbart IDE til Python, og det er selvfølgelig selv skrevet i Python.

Der kan siges og skrives meget mere om Python, og man kan få en udmærket introduktion til sproget, skrevet af blandt andre Guido van Rossum, i form af først kapitel af bogen Internet Programming with Python. Derudover holder sproget til på sit eget website, Python.org hvor der er masser af ressourcer at finde. Herfra kan Python selvfølgelig også downloades.

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

Sikkerhed | Online

Cyber Briefing: AI kan udnytte dine VPN‑svagheder og lække dine data på sekunder

AI-agenter arbejder konstant og i maskinhastighed. Klassiske VPN-modeller mister overblik, kontrol og sporbarhed. Hør hvordan adgang, handlinger og automatisering sikres i en AI-drevet virkelighed. Tilmeld dig nu

Digital transformation | København

Roundtable: Fra legacy til AI – de strategiske valg for digitale ledere

Legacy-systemer bremser mange AI-ambitioner. Digitale ledere skal vælge platform, tempo og arkitektur. Computerworld samler CIO’er og CTO’er til lukket roundtable om vejen fra legacy til AI-parat forretning. Få perspektiver fra COWI og del...

Digital transformation | København

Executive Conversations: Kina, Trump og AI-ledelse

Kina, USA og AI flytter magt og markeder. Geopolitik rammer leverandørkæder, chips, data og standarder. Lær at koble global risiko med konkret it-ledelse. Få styr på governance, sikkerhed og compliance i AI. Deltag og styrk din handlekraft.

Se alle vores events inden for it

Navnenyt fra it-Danmark

Renewtech ApS har pr. 15. marts 2026 ansat Per Forberg som Account Manager for Sustainable Relations. Han skal især beskæftige sig med etablere nye partnerskaber med henblik på ITAD og sourcing kontrakter med hostingvirksomheder og strategiske slutbrugere. Han kommer fra en stilling som Nordic Key Account Manager hos Tesa. Han er uddannet hos Lund University og har en MBA i Management. Han har tidligere beskæftiget sig med at styrke salgsaktiviteter og partnerskaber på tværs af nordiske markeder. Nyt job

Per Forberg

Renewtech ApS

Norriq Danmark A/S har pr. 1. januar 2026 ansat Morten Kronborg som Consultant ERP. Han skal især beskæftige sig med hjælp og rådgivning af kundernes handels-forretningsprocesser indenfor salg og indkøb. Han kommer fra en stilling som Digital Forretningskonsulent hos Gasa Nord Grønt. Han er uddannet speditør og har bevæget sig ind i handelsvirksomheder hvor han endte med ansvar for ERP-løsninger. Han har tidligere beskæftiget sig med at være ansvarlig for implementering og drift af IT-projekter. Nyt job

Morten Kronborg

Norriq Danmark A/S

netIP har pr. 20. januar 2026 ansat Mikkel Lykke Petersen som Datateknikerelev ved netIP Thisted/Aalborg. Han er uddannet håndværker og har arbejdet som både montør, mekaniker, tømrer og tagdækker. Nyt job
Mark Michaelsen, teknisk systemejer og projektleder hos Aarhus Kommune, har pr. 26. januar 2026 fuldført uddannelsen Master i it, linjen i organisation på Aarhus Universitet via It-vest-samarbejdet. Færdiggjort uddannelse

Mark Michaelsen

Aarhus Kommune