*Se også: Pyton.*

**Python** er et 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,

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. Kodeblokker i Python avgrenses basert på linjeskift og innrykk i motsetning til andre populære programmeringsspråk der par av spesialtegn eller tegnstrenger brukes, slike som `{` og `}` eller `BEGIN` og `END`. Uansett språk er det skikk og bruk å benytte innrykk i kode, på det viset kan spesialtegn for å markere begynnelse og slutt anses som unødvendige. Innrykksreglene er gjort påkrevet i Python. Dette trekk ved språket forenkler og gjør det derfor raskere å skrive og lese.

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.

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

Objektorientert programmering
-----------------------------

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

Eksempler
---------

### Hello, world

```
print("Hello, world!")

```
Fra og med Python 3 må `print` skrives slik: `print("Hello, world!")`. Tidligere kunne man skrive `print "Hello, world!"`. 

### Variabler

```
#! /usr/bin/env python
variabel = "var" # i python trenger man ikke noe tegn foran variabler.
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)

Dette enkle programmet demonstrerer bruken av liste-datatypen og innrykk.

```
# En liste inneholder en serie verdier, som kan være av mange typer, f.eks. tekst eller tall.
list = ["en", 2, 3, "fire", 5, "seks", 7, "8"]

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økken, altså vil den ikke kjøres før løkken er ferdig. 
print("ferdig")

```

### Bruk av klasse og objekt

```
import math # importer mattebibliotek

class Sirkel:

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

        self.radius = radius

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

    # beregn areal ( a = pi \* r \* r )
    def faaAreal(self):
        pi = math.pi # hent tallet pi fra mattebibliotek
        return pi \* self.radius \* self.radius;
        
    # beregn 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

```

Referanser
----------

1. ↑   «History and License - Python documentation», besøkt 19. august 2016[Hentet fra Wikidata]
2. ↑  Van Rossum i forordet til «Programming Python» på Pythons offisielle nettsted

Eksterne lenker
---------------

* (en) Offisielt nettsted Rediger på Wikidata

* (en) Python (programming language) – kategori av bilder, video eller lyd på Commons Rediger på Wikidata

* (en) Python (programming language) – galleri av bilder, video eller lyd på Commons Rediger på Wikidata
* Introduksjon til programmering i Python
* «"Foreword to 'Programming Python'"». Besøkt 2. august 2013.

| * v
* d
* r
Programmeringsspråk |
| --- |
| Tidslinje |
| A# **·** ActionScript **·** Ada **·** Alef **·** ALGOL **·** ALGOL 58 **·** ALGOL 60 **·** ALGOL 68 **·** ALTRAN **·** APL **·** AppleScript **·** Argus **·** Assembler **·** Autokode **·** awk **·** B **·** BASIC **·** BCPL **·** BETA **·** BitC **·** BLISS **·** Bourne Shell **·** C **·** C++ **·** C-- **·** CHILL **·** C# **·** C shell **·** Caml **·** Ch **·** Cilk **·** Cilk++ **·** Cilk Plus **·** Clarion **·** Clipper **·** CLISP **·** Clojure **·** CLU **·** COBOL **·** COMAL **·** Common Lisp **·** Concurrent C **·** Concurrent Euclid **·** Concurrent Pascal **·** C shell **·** D **·** Delphi **·** Dylan **·** ECMAScript **·** Eiffel **·** Emacs Lisp **·** Erlang **·** Euclid **·** F\* **·** F# **·** Forth **·** Fortran **·** GNU Common Lisp **·** GNU Pascal **·** Go **·** Haskell **·** HyperTalk **·** Incr Tcl **·** INTERCAL **·** Interlisp **·** Java **·** JavaScript **·** JRuby **·** LaTeX **·** Legoscript **·** LilyPond **·** Limbo **·** Lisp **·** LPC **·** Lua **·** Lynx **·** Mary **·** MATLAB **·** Mesa **·** ML **·** MML **·** Modula **·** Modula-2 **·** MUMPS **·** Objective-C **·** Objective-C++ **·** OCaml **·** OpenVera **·** O'Haskell **·** Pascal **·** Perl **·** PHP **·** Pike **·** PL/I **·** Plankalkül **·** PLEX **·** Prolog **·** Protel **·** Pure Data **·** Python **·** R **·** Ratfor **·** REXX **·** RTL/2 **·** Ruby **·** Rust **·** SAS **·** Scala **·** Scheme **·** Scratch **·** Simula **·** SML **·** Smalltalk **·** SNOBOL **·** Tcsh **·** Tcl **·** TECO **·** TOM **·** Turbo Basic **·** Turbo Pascal **·** Verilog **·** Visual Prolog **·** Turing **·** TypeScript **·** Vala **·** VHDL **·** Visual Basic **·** Flere.. |
| 
* Kategori **Kategori**

 |

|  |  |
| --- | --- |
| Oppslagsverk/autoritetsdata | Store norske leksikon **·** Store Danske Encyklopædi **·** Nationalencyklopedin **·** GND **·** LCCN **·** BNF **·** BNF (data) **·** SUDOC **·** NKC
 |