Python

programmeringsspråk
Se også: Pyton.
Python
Python logo and wordmark.svg
Tilblivelse20. februar 1991[1]
ParadigmeMulti-paradigme: Funksjonell programmering, objektorientert programmering, dynamisk programmering, Imperativ programmering
Designet avGuido van Rossum
Utviklet avPython Software Foundation, Guido van Rossum
Siste versjon(er)3.9.0 / 5. okt. 2020
Typetildeling løpende, dynamisk, gradvis
Filendelse(r).py, .pyc, .pyd, .pyo, .pyw, .pyz
OSmultiplattform
LisensPython Software Foundation License
Implementert i
Python, C
Påvirket av
ALGOL 68, ABC, Modula-3, C, C++, Perl, Java, Lisp, Haskell, APL, CLU, Dylan, Icon, Standard ML

Python er et objektorientert programmeringsspråk startet på av Guido van Rossum i 1989. Van Rossum valgte navnet «Python» fordi han var i et lekent humør da han skulle finne på navn, og fordi han er fan av Monty Python,[2]

Python var opprinnelig et skriptspråk for det distribuerte operativsystemet Amoeba 809 for å lage systemendringer. Perl, Ruby, Tcl, Scheme og tildels Java blir ofte sett på som alternativer til Python. Mange ser på Python som en nyere, men strengere og en mer striglet versjon av Perl. Python er utviklet som et fri programvare-prosjekt.

Python har en lettlest og klar syntaks. I motsetning til andre populære programmeringsspråk deles kodeblokker i Python opp etter innrykk. Ikke etter spesialtegn som { og } eller BEGIN og END som i de andre. Uansett språk er det skikk og bruk å benytte innrykk i kode, på det viset kan spesialtegn for å markere begynnelse og slutt ansees som unødvendige, så isteden er innrykksreglene gjort påkrevet i Python, ikke valgfrie. Dette er trekk ved språket som mange mener gjør det raskere å skrive og lese programmer.

Fra ca 2016 var Python oftest å finne blant de fem øverste i kåringer over verdens mest brukte programmeringsspråk. Det har hos en del universiteter og andre undervisningsinstitusjoner erstattet Java som det programmeringsspråket de fleste studenter kommer i kontakt med. Pr 2019 vedlikeholdes to versjoner av språket, 3.x og 2.7.x, men sistenevnte har en varslet utløpstid for vedlikehold etter 2020.[3]

wxPython er et wrapper-bibliotek som gjør det mulig å programmere med wxWidgets i Python. Som wxWidgets er wxPython gratis programvare.


Objektorientert programmeringRediger

Python er et objektorientert programmeringsspråk, og tillater for eksempel polymorfisme. I motsetning til i mange andre objektorienterte språk, som for eksempel Java og Smalltalk, er det allikevel fullt mulig å skrive et prosedyre-drevet program.

EksemplerRediger

Hello, worldRediger

>
#! /usr/bin/env python 
print("Hello, world!")
##fra og med Python 3 må print skrives slik: print("Hello, world!").
##tidligere kunne man skrive print "Hello, world!" uten ().

VariablerRediger

#! /usr/bin/env python
variabel = "var" # i python trenger man ikke noe tegn foran variabler, som f.eks. $ i PHP.
print(variabel) # resultat: var.
## variabler i praksis:
name = raw_input("Ditt navn: ") # lagrer brukerinput i variablen name. Input() er en innebygd funksjon for input.
print(name) # resultat: det du har skrevet inn i input

Enkel bruk av en liste (matrise)Rediger

#! /usr/bin/env python
# -*- coding: utf-8 -*- 
# (linja over bruker vi for å kunne bruke æøå uten advarsler.)
#
#Dette enkle programmet demonstrerer bruken av liste-datatypen,
#samt bruken av innrykk for å dele kodeblokker fra hverandre.
#
#

#En liste inneholder en serie verdier, som kan være av mange typer, for eksempel tekst eller tall.
list = ["en", 2, 3, "fire", 5, "seks", 7, "åtte"]

for element in list:
    #den neste linjen har et innrykk som gjør at den regnes som en del av for-løkken
    print(element)
#Denne linjen har samme innrykk som for-løkka, altså vil den ikke kjøres før løkka er ferdig. 
print("ferdig")

Bruk av klasse og objektRediger

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import math # importer mattebibliotek

class Sirkel:

    # konstruktør metode
    # denne kalles når objekt opprettes fra klasse
    def __init__(self, radius):

        self.radius = radius


    # regn ut diameter ( d = 2 * r )
    def faaDiameter(self):
        return 2 * self.radius

    # regn ut areal ( a = pi * r * r )
    def faaAreal(self):
        pi = math.pi # hent tallet pi fra mattebibliotek
        return pi * self.radius * self.radius;
        
    # regner ut omkrets  ( o = 2 * pi * r )
    def faaOmkrets(self):
        pi = math.pi 
        return 2 * pi * self.radius

# Lager et objekt av klassen sirkel 
# med radius r=10.
sirkel1 = Sirkel(10)

print(sirkel1.faaDiameter()) # skriver ut diameter: 20
print(sirkel1.faaAreal())    # skriver ut areal: 314.1592
print(sirkel1.faaOmkrets())  # skriver ut 31.4159
print("-------------------") # strek for å skille sirkler

# Lager et nytt objekt av klassen sirkel 
# med radius r=3
sirkel2 = Sirkel(3)
print(sirkel2.faaDiameter()) # skriver ut diameter: 6

ReferanserRediger

Eksterne lenkerRediger