Python er et programmeringsspråk. Det er et imperativtobjektorientert, fortolket høynivåspråk som er beregnet på utvikling av enkle verktøy og applikasjoner. Noen typiske bruksområder er automatisering, dataintegrering og dataanalyse.

Standardimplementasjonen, kalt CPython, er bare tekstbasert, men det finnes rammeverk og biblioteker som gjør det mulig å lage grafiske brukergrensesnitt. Python kan også brukes til å produsere HTML-kode og lignende i web-applikasjoner.

Python er svært uttrykkskraftig, kan utvides med et stort antall kodebiblioteker og har god tilgang på funksjoner «under panseret» i vertsmaskinen. Det er derfor godt egnet til å snekre sammen raske løsninger med avansert funksjonalitet. Se hacking.

Språket ble opprinnelig utviklet av nederlenderen Guido van Rossum tidlig på 1990-tallet og er oppkalt etter den britiske komigruppen Monthy Python.

Python har mye til felles med andre programmeringsspråk, men skiller seg ut på spesielt to måter:

De fleste programmeringsspråk har egne tegn eller reserverte ord for å markere start og slutt på kodeblokker. I Python blir slike blokker markert ved hjelp av innrykk. For eksempel vil det første programmet nedenfor beregne og skrive ut summen av tallene fra 1 til 10. Det andre, derimot, vil aldri avslutte, men gå i en evig løkke.

Program 1:

\(\begin{align} &\text{sum = 0} \\&\text{i = 1} \\&\text{while i <= 10:} \\&\qquad\text{sum += i} \\&\qquad\text{i += 1} \\&\text{print(sum)}\end{align}\)

Program 2:

\(\begin{align} &\text{sum = 0} \\&\text{i = 1} \\&\text{while i <= 10:} \\&\qquad\text{sum += i} \\&\text{i += 1} \\&\text{print(sum)}\end{align}\)

Et annet særtrekk er at språket ikke har primitive verdier. Alle verdier er i stedet representert ved hjelp av immutable objekter (objekter som ikke kan endres). Selv egenskapen ingen verdi er et objekt. Variable i Python er derfor alltid pekere til objekter og kan bare endres ved å la dem peke på et annet objekt.

For eksempel vil programmet nedenfor ende opp med fire variabler og to objekter. Variablene a og b vil peke på ett heltallsobjekt med verdien 1, mens c og d vil peke på et annet objekt med verdien 2:

\(\begin{align} &\text{a = 1} \\&\text{b = 1} \\&\text{c = a + b}\\&\text{d = 2}\end{align}\)

Dette gir et ryddig språk som er fleksibelt og lett å utvide. Det gir stor frihetsgrad med hensyn til hvordan verdiene lagres. For eksempel er størrelsen på vanlige heltall i Python kun begrenset av tilgjengelig hukommelse. Det kan i visse tilfeller bidra til å spare plass, men vil som regel også kreve en del ekstra opprydding i hukommelsen. Oppgaver som involverer mange verdier kan ta lang tid. Programmet nedenfor vil for eksempel bruke 5-20 ganger lenger tid enn tilsvarende språk som PHP og Node.js.

\(\begin{align} &\text{sum = 0} \\&\text{i = 0} \\&\text{while i < 1000000000:} \\&\qquad\text{sum += i} \\&\qquad\text{i += 1} \\&\text{print(sum)}\end{align}\)

Per 2017 administreres språket av den ideelle stiftelsen Python Software Foundation (PSF) som er basert på frivillig innsats og donasjoner.

Språket er i stadig utvikling og kan ta i bruk nye språkmekanismer etter hvert som de vinner aksept blant programmerere. Hvem som helst kan foreslå slike utvidelser. Forslagene vil bli vurdert av en egen redaksjon og kan etter hvert få status som offisielle utvidelsesforslag: Python Extension Proposals (PEPs). Deretter vil forslagene gå igjennom en vurderingsprosess hvor språkets Benevolent Dictator for Life (BDFL) har det siste ordet. Per 2017 er det opphavsmannen Guido van Rossum som har denne rollen.

PSF administrerer og så en liste over et stort antall, fritt tilgjengelige kodebiblioteker for Python: the Python Package Index (PyPI).

Foreslå endringer i tekst

Foreslå bilder til artikkelen

Kommentarer

Har du spørsmål om eller kommentarer til artikkelen?

Kommentaren din vil bli publisert under artikkelen, og fagansvarlig eller redaktør vil svare når de har mulighet.

Du må være logget inn for å kommentere.