Python (programmeringsspråk)

Logo
Python er et programmeringsspråk beregnet på utvikling av enkle verktøy og applikasjoner.
Av .

Python er et programmeringsspråk beregnet på utvikling av verktøy og applikasjoner (dataprogram og apper). Det er et imperativt, objektorientert, fortolket høynivåspråk. Noen typiske bruksområder er automatisering, dataintegrering og dataanalyse.

Den mest vanlige versjonen, kalt CPython, er i utgangspunktet bare laget for utvikling av tekstbaserte dataprogrammer, men det finnes rammeverk og biblioteker som gjør det mulig å lage grafiske brukergrensesnitt. Python kan også benyttes til å produsere dynamiske nettsider.

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 å raskt bygge sammen løsninger med avansert funksjonalitet.

Python holder stand som et svært populært programmeringsspråk, ofte blant topp 5 i ulike rangeringer. Selv om det er vanskelig å måle (ulike kriterier), tyder mye på at Pythons popularitet har vært jevnt økende gjennom hele perioden fra 2000 til 2020. Ettersom Python er forholdsvis enkelt å lære, samt stiller strenge krav til struktur og syntaks, er det også blitt et populært programmeringsspråk innen utdanning.

Språklige kjennetegn

Python har mye til felles med andre programmeringsspråk, men skiller seg ut på spesielt to måter: Kodeblokker defineres ved hjelp av innrykk (intendering) og at alle verdier er objekter.

Definering av kodeblokker ved hjelp av innrykk

De fleste programmeringsspråk har egne tegn eller reserverte ord for å markere start og slutt på blokker med kode. I Python blir slike blokker markert ved hjelp av innrykk.

Et eksempel

Programmet nedenfor beregner og skriver ut summen av tallene fra 1 til 10:

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

Dette programmet, derimot, vil aldri avslutte, men gå i en evig løkke:

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

Alle verdier er objekter

Et annet særtrekk er at språket ikke har primitive datatyper. Alle verdier er i stedet representert ved hjelp av immutable objekter (objekter som ikke kan endres). Selv egenskapen ingen verdi er et objekt. Variabler 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} &\texttt{a = 1} \\&\texttt{b = 1} \\&\texttt{c = a + b}\\&\texttt{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 minne. Det kan i visse tilfeller bidra til å spare plass, men vil som regel også kreve en del ekstra opprydding i minnet.

Oppgaver som involverer mange verdier kan ta lang tid. Programmet nedenfor vil for eksempel bruke 5-20 ganger lenger tid enn programmer skrevet i tilsvarende språk som PHP og Node.js.

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

Historikk

Språket ble opprinnelig utviklet av nederlenderen Guido van Rossum, og første versjon ble lansert i 1991. Språket er oppkalt etter den britiske komikergruppen Monthy Python.

Utvikling og vedlikehold

Per 2023 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 i Python-miljøet

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

Les mer i Store norske leksikon

Eksterne lenker

Kommentarer

Kommentaren din publiseres her. Fagansvarlig eller redaktør svarer når de kan.

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

eller registrer deg